Qt信号槽混淆

Qt信号槽混淆,qt,qtcore,qt-signals,Qt,Qtcore,Qt Signals,我正在从事一个项目,在这个项目中,我必须创建一个从类的构造函数到它内部初始化的类的Qt信号插槽连接。这就是代码的样子。我希望下面提到的两个连接都能工作,但从输出结果来看,只有连接#1起作用我的问题是如何让连接2起作用 A类 class classA :public QWidget{ Q_OBJECT public: classA(){ emit this->demoSignalA(); } signals: void

我正在从事一个项目,在这个项目中,我必须创建一个从类的构造函数到它内部初始化的类的Qt信号插槽连接。这就是代码的样子。我希望下面提到的两个连接都能工作,但从输出结果来看,只有连接#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"}
};
}

输出

SIGNAL FROM CLASS B

如果您遵循代码的顺序,那么在调用

emit this->demoSignalA();
在classB构造函数的第一行中,尚未建立连接。如果尚未建立连接,则在发出信号时将不会执行插槽

在建立连接之后,您应该在classB构造函数中发出这两个信号

(原则上,在完成构造函数之前最好不要开始发出信号,但这在这里并不重要)

SIGNAL FROM CLASS B
emit this->demoSignalA();