我正在做一个项目,我必须创建一个从类的构造函数到它在内部初始化的类的 Qt 信号槽连接。这就是代码的样子。我希望下面提到的两个连接都可以工作,但是从输出的建议来看,只有 connection#1 可以工作。我的问题是如何使连接#2 工作!
A级
class classA :public QWidget{
Q_OBJECT
public:
classA(){
emit this->demoSignalA();
}
signals:
void demoSignalA();
public slots:
void demoSlotA(){qDebug()<<"SIGNAL FROM CLASS B"}
};
B类
class classB :public QWidget{
Q_OBJECT
public:
classB(){
classA *a = new classA;
connect(this, SIGNAL(demoSignalB()), a, SLOT(demoSlotA())); //WORKS
connect(a, SIGNAL(demoSignalA()), this, SLOT(demoSlotB())); //DOESN'T WORK
emit this->demoSignalB();
}
signals:
void demoSignalB();
public slots:
void demoSlotB(){qDebug()<<"SIGNAL FROM CLASS A";}
};
主要的
int main(int argc, char *argv[]){
QApplication a(argc, argv);
...
...
classB b; //INVOCATION INITIATED
return a.exec();
}
输出
SIGNAL FROM CLASS B