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

11

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

有什么可接受的方法来做到这一点吗?

3个回答

12

你不能实现/覆盖一个信号,所以唯一的方法是创建一个新的槽并将其连接到textChanged():

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

2
也许这看起来有些愚蠢,但这就是我做的方式:将我的派生类连接到父类发出的信号上。 但如果有其他解决方案,我很感兴趣!

1

在同一类中将信号连接到槽是完全可行的。因此,请实现您的槽并将其连接到textChanged(QString)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接