QT Creator によって作成された 2 つのフォームがあります。Signal & Slot を使用して、これら 2 つのフォーム間でデータを転送しました。しかし、データを受信できません。
そして、これらは私のアプリケーションの2つのフォームです
Form1.h
class Form1: public QDialog
{
...........
private slots:
void on_btnOK_clicked();
signals:
void SendId(int id);
};
Form1.cpp
#include "form2.h"
void Form1::on_btnOK_clicked()
{
emit SendId(2); //ID = 2
Form2 form2;
form2.setModal(true);
form2.exec();
}
Form2.h
class Form2 : public QDialog
{
...........
public slots:
void ReceiveId(int id);
private:
Form1* m_pForm1;
};
Form2.cpp
Form2::Form2(QWidget *parent) :
QDialog(parent),
ui(new Ui::Form2)
{
ui->setupUi(this);
m_pForm1 = new Form1(this);
// Connecting the signal we created in the Form1
// with the slot created in the Form2
QObject::connect(m_pForm1, SIGNAL(SendId(int)),
this, SLOT(ReceiveId(int)));
}
void Form2::ReceiveId(int id)
{
qDebug() << "Received id";
}
アプリケーションを実行すると、 「Received id」というメッセージが表示されません。私の申請は間違っていますか?
あなたはなにか考えはありますか?
ありがとう!