2010-06-09 21 views
10

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

接受的方法是什么?

回答

11

您不能实现/覆盖的信号,所以唯一的办法是创建一个新的插槽,并将其连接到框TextChanged():

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

也许看起来很傻,但是这是我做的方式:我的派生类连接到由父类emited信号。

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

1

也完全可以将信号连接到一个槽在同一个班。 因此实施您的插槽并将其连接到textChanged(QString)