ボタンを作成して onclick ハンドラを割り当てる簡単なコードを次に示します。
auto btn = new QPushButton("CLICK ME");
connect(btn, SIGNAL(clicked()), this, SLOT(btn_Click()));
private slots:
void btn_Click() {
alert("clicked!");
}
メインウィンドウクラスで呼び出された場合は、正常に機能します。ただし、子ウィンドウでこれを実行しようとすると、ボタンをクリックしても何も起こりません。子ウィンドウは次のように表示されます。
auto settingsWindow = new SettingsWindow();
settingsWindow->show();
現在は別のウィンドウになっているレシーバーオブジェクトに何らかの形で接続されていると思います。しかし、どうすればそれを機能させることができますか?