0
このエラーでQtディスカッションのさまざまな部分を見てきましたが、この場合は何が違うのか分かりません。私は正常にGUIの要素の間にスロット/信号のペアを設定しましたが、何らかの理由で最新のスロット/信号の組がエラーを生成しています。Qtスロットと信号:MainWindowのマッチング機能がありません
次にメインウィンドウのスロット
//from MainWindow.h
class MainWindow : public QMainWindow
{
private slots:
void ReceiveStatus(std::string);
}
//from MainWindow.cpp
void MainWindow::ReceiveStatus(std::string s)
{
//I can provide other controls, filters, etc.
//but currently there are none
ui->statusBar->showMessage(tr("System status: "+s));
}
があるすべてのGUI要素がここで
class PanelA : public QWidget
{
...
public signals:
void UpdateStatusBar(std::string);
...
}
示すように、私は、各パネルの信号を作成したメインウィンドウのステータスバーを更新することを可能にするために
最後に、MainWindowコンストラクタで私はすでにいくつかの信号を持っており、各GUI要素に新しい接続線を1つ追加しました。
connect(ui->panelA, &PanelA::SelectionChanged, ui->panelB, &PanelB::UpdateSelection);
//this one works
connect(ui->panelA, &PanelA::UpdateStatusBar, ui, &MainWindow::ReceiveStatus);
//this one generates an error there is one status bar connection for each
これまでのところ、構文が正しいと言うことができます。 ui-> panelAとuiの両方がポインタです。なぜ私は正しいのか分かりません。私は何か提案を感謝します。
ありがとうございます。私をばかにして、それを見逃す。あなたが正しいです。 Ui :: MainWindow * uiは、メソッドが定義されているMainWindowクラスと同じではありません。 – BSD