永发信息网

qt自定义槽函数不起作用

答案:2  悬赏:60  手机版
解决时间 2021-03-07 05:15
  • 提问者网友:饥饿走向夜
  • 2021-03-06 13:57
本来可以实现的,不懂为什么不行了。贴代码:
这样写 void Userinfo::on_closeBtn1_clicked() 和 connect(ui->closeBtn1,SIGNAL(clicked()),this,SLOT( closeBtn1_clicked() ));//closeBtn1_clicked()是新的槽函数................................这两种都不行
但是connect(ui->closeBtn1,SIGNAL(clicked()),this,SLOT( close() ));这样写又可以,折腾了好久都不懂为什么。新手求大神解答
最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-03-06 15:12
源代码截个清晰图看看吧
全部回答
  • 1楼网友:白昼之月
  • 2021-03-06 16:30
可以的;前面需要添加特定的信号槽标识符 class myclass :  public qobject {     // 这个宏一定要添加,否则无法使用信号槽     q_object public:     myclass(){}      void publictestfunc() { emit signaltest(110);} //-- 下面函数是自动的信号函数,无实体,定义即可  --// signals:     void signaltest(int ncnt); // 可带参数,可不带 //-- 下面函数是自定义的槽函数,需要写实现方法 --// slots:     void slttestfunc(int ncnt) {         qdebug() << "connect the signal: " << ncnt;     } }; // 然后使用 myclass *test1 = new myclass(); myclass *test2 = new myclass(); connect(test1, signal(signaltest(int)), test2, slot(slttestfunc(int))); // 然后用test1发送信号,test2接收
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯