关于信号槽的一个问题

Posted warmlight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于信号槽的一个问题相关的知识,希望对你有一定的参考价值。

这又是一个小白问题。

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

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

如,在mainwindow的构造函数中:

 QObject::connect(pDlgSerial, SIGNAL(ChangeSerialInfo(QString)), this, SLOT(UpdateSerialInfo(QString)));
ChangeSerialInfo是另一个对话框的信号,UpdateSerialInfo是槽函数。
这时,我如果想在mainwindow的其他函数中显示对话框,我必须把pDlgSerial声明成mainwindow的成员变量。如果构造函数中声明一个对象,另一个函数中也声明一个对象,就会出现上面所说的问题,connect返回true,但是收不到信号。
这又是一个小白问题。

以上是关于关于信号槽的一个问题的主要内容,如果未能解决你的问题,请参考以下文章

qt 关于信号槽传递的参数问题

Qt信号和槽的问题

pyqt5中的信号槽的使用

请问有谁能解答一下Qt中信号槽的优势?

Qt每天一例17.信号槽的一些写法技巧

QT中槽的使用