0
点赞
收藏
分享

微信扫一扫

Qt: 一个SIGNAL绑定多个SLOT


Qt开发,点一个按钮,希望先后调用两个方法。理论上可以把两个方法放在一个新方法里面,用一个SLOT就行。不过如果偏要点击一次按钮连续调用两个方法呢?也就是一个click信号绑定两个slot呢?

其实很简单,对click信号绑定两个SLOT即可:

//信号SIGNAL > 槽SLOT
connect(ui->btnAlpha, SIGNAL(clicked()),this,SLOT(test1()));
connect(ui->btnAlpha, SIGNAL(clicked()),this,SLOT(test2()));

//方法定义
void FormNorth2Ins::test1(){ qDebug() << "SLOT 1 >>"; }
void FormNorth2Ins::test2(){ qDebug() << "SLOT 2 >>"; }

输出:

Qt: 一个SIGNAL绑定多个SLOT_c#

 从输出可以看出,两个方法都被调用了。

Qt的这个一个SIGNAL绑定多个SLOT的特性,倒是和WinForm中的一个事件绑定多个函数很像:

//WinForm, C#
btnAlpha.Click += new EventHandler(test1);
btnAlpha.Click += new EventHandler(test2);

举报

相关推荐

0 条评论