【发布时间】:2010-06-09 07:41:15
【问题描述】:
如何处理子类中的信号?假设我的子类派生自QTextEdit,并且对信号textChanged 感兴趣。将对象连接到自身似乎很愚蠢,我应该能够简单地覆盖textChange 方法——但它不是virtual。
公认的方法是什么?
【问题讨论】:
标签: c++ qt overriding subclass signals-slots
如何处理子类中的信号?假设我的子类派生自QTextEdit,并且对信号textChanged 感兴趣。将对象连接到自身似乎很愚蠢,我应该能够简单地覆盖textChange 方法——但它不是virtual。
公认的方法是什么?
【问题讨论】:
标签: c++ qt overriding subclass signals-slots
您无法实现/覆盖信号,因此唯一的方法是创建一个新插槽并将其连接到 textChanged():
connect( this, SIGNAL(textChanged(QString)), this, SLOT(slotTextChanged(QString)) );
【讨论】:
也许这看起来很傻,但我就是这样做的:将我的派生类连接到父类发出的信号。
但是如果有其他解决方案,我很感兴趣!
【讨论】:
将信号连接到同一类的插槽是完全可以的。
所以实现你的插槽并将其连接到textChanged(QString)
【讨论】: