如何处理Qt子类中的信号?

时间:2010-06-09 07:41:16

标签: c++ qt override subclass signals-slots

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

可以接受的方式是什么?

3 个答案:

答案 0 :(得分:11)

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

connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

将信号连接到同一类中的插槽是完全可以的。 因此,请实施您的广告位并将其连接到textChanged(QString)