不太确定如何制定我的问题,我希望这更清楚。我想有一个基类,看起来是这样的:是否可以使用“this”从派生对象的基类发出信号
class Base : public QObject {
Q_OBJECT
void doSomething() { emit test(this); }
virtual void doSomethingElse() = 0;
signals:
void test(Base*);
}
然后在派生类中做到这一点:
class Derived : public Base {
void doSomethingElse() { emit test(this); }
}
如果我现在听这个对象的信号,做我听测试(Derived *)或/和测试(Base *)?
你能否具体说明“听”的意思 - 在这种情况下,很多事情都依赖于它,例如听 - 将发送者作为参数传递给slot或...? – milyaaf 2012-03-22 07:25:41
通过“连接(objectInMyExample,SIGNAL(试验(基站* /派生*)),someOtherObject,SLOT(handleObject(基* /派生*))) – chikuba 2012-03-22 22:36:47
确定,所以在handleObject(基*)将把手基座和连接它handlObject(导出*),它会听派生。 – milyaaf 2012-03-23 08:40:06