关于信号槽的一个问题

这又是一个小白问题。

今天在做窗体间传值时遇到一个问题:connect返回true,但是槽收不到信号。

经过检查发现问题:connect的(信号)对象必须和发射信号的对象是同一个。

如,在mainwindow的构造函数中:

 QObject::connect(pDlgSerial, SIGNAL(ChangeSerialInfo(QString)), this, SLOT(UpdateSerialInfo(QString)));
ChangeSerialInfo是另一个对话框的信号,UpdateSerialInfo是槽函数。
这时,我如果想在mainwindow的其他函数中显示对话框,我必须把pDlgSerial声明成mainwindow的成员变量。如果构造函数中声明一个对象,另一个函数中也声明一个对象,就会出现上面所说的问题,connect返回true,但是收不到信号。
这又是一个小白问题。
posted @ 2019-06-06 18:01  阳光下的小土豆  阅读(269)  评论(0编辑  收藏  举报