风中飘零的bug 2016-03-22 05:57 采纳率: 90.9%
浏览 1724
已采纳

QT怎么快速实现走动棋子

widget的cpp文件内容
static int m=1,n=1;
    for(int i=0;i<=9;i++){
        for(int j=0;j<=9;j++){
            pbDifineGroup[j+1][i+1] = pbDifine=new   QPushButton(this);
            pbDifine->setGeometry(lbegin+sline*i,60+sline*j,sline,sline);//连续生成按钮
            connect(pbDifineGroup[j+1][i+1],SIGNAL(clicked()),this,SLOT(slotMove(m,n)));
            pbDifine->setFlat(true);//设置按钮透明
            n++;
        }
        m++;
    }
有疑惑的槽函数内容
void Widget::slotMove(int,int)
{
    pbMoveBlue1->setGeometry(pbDifineGroup[m][n]->geometry());//pbMoveBlue1是其中一颗棋子
}
写出来的界面就是图片那样
然后发现在链接信号和槽的时候槽函数好像并不会被调用,只是建立了一个关系,(把槽函数里面的m,n换成了常数发现棋子可以移动),但是用m,n的时候不管点击哪一个格子棋子都没有反应了,本来想用多个信号连接一个槽函数但是实现不同的槽机制的,但是找不到办法,求大神解救。图片

  • 写回答

3条回答

  • 小灸舞 2016-03-22 06:30
    关注

    Incompatible sender/receiver arguments
    你的连接connect(pbDifineGroup[j+1][i+1],SIGNAL(clicked()),this,SLOT(slotMove(m,n)));
    虽然能过编译,但是参数不匹配的话connect会失败
    楼主可以qDebug() << connect(pbDifineGroup[j+1][i+1],SIGNAL(clicked()),this,SLOT(slotMove(m,n)));
    输出的必然是false

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)