10

如何处理子类中的信号?假设我的子类派生自QTextEdit信号并且对信号感兴趣textChanged。将对象连接到自身似乎很愚蠢,我应该能够简单地覆盖该textChange方法 - 但它不是virtual.

什么是公认的方式来做到这一点?

4

3 回答 3

11

您无法实现/覆盖信号,因此唯一的方法是创建一个新插槽并将其连接到 textChanged():

connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
于 2010-06-09T11:34:03.600 回答
2

也许这看起来很傻,但我就是这样做的:将我的派生类连接到父类发出的信号。

但如果有其他解决方案,我很感兴趣!

于 2010-06-09T07:47:28.950 回答
1

将信号连接到同一类的插槽是完全可以的。所以实现你的插槽并将其连接到textChanged(QString)

于 2010-06-09T19:20:33.387 回答