子ウィンドウから親ウィンドウへパラメータを渡す方法
Qtでは、シグナル・スロット機構を使って、子ウィンドウから親ウィンドウにパラメータを渡すことができます。
まず、親ウィンドウで子ウィンドウから渡された引数を受け取るためのスロット関数を宣言します。 例えば:
public slots:
void receiveData(int data);
次に、パラメータを親ウインドウに渡すためのシグナルを子ウインドウで定義します。例えば:
signals:
void sendData(int data);
子ウィンドウからどういった情報を親ウィンドウに渡す必要があるとき、シグナルを呼び出してパラメータを渡します。例:
emit sendData(10);
親ウィンドウで、子ウィンドウのシグナルと親ウィンドウのスロット関数をを接続する。例:
connect(childWindow, SIGNAL(sendData(int)), this, SLOT(receiveData(int)));
最後に、親ウインドウで、子ウインドウから渡されたパラメータを受け取るためのスロット関数を宣言する
void MainWindow::receiveData(int data)
{
// 处理接收到的参数
}
これによって、子ウィンドウからシグナルが呼び出されたときに親ウィンドウのスロット関数がトリガーされ、子ウィンドウから親ウィンドウにパラメータを渡す機能が実現します。