class Table : public QTableWidget
{
Q_OBJECT
signals:
void sigStatusMsg( const QString& msg );
};
//----------------------------------------
class ShowTableDlg : public QDialog
{
Q_OBJECT
public slots:
void slotStatusMsg( const QString& msg );
signals:
void sigStatusMsg( const QString& msg );
}
void ShowTableDlg::slotStatusMsg( const QString& msg )
{
m_statusBar->showMessage( msg );
emit sigStatusMsg( msg );
}
//------------------------------------------
class TopDialog : public QDialog
{
Q_OBJECT
public slots:
void slotCallShowTable();
void slotStatusMsg( const QString& msg );
}
void TopDialog::slotCallShowTable()
{
ShowTableDlg* dlg { new ShowTableDlg };
connect( dlg, &ShowTableDlg::sigStatusMsg,
this, &TopDialog::slotStatusMsg );
dlg->exec();
}
ShowTableDlg正确显示消息,TopDialog中的插槽永远不会 到达。也许我太盲目或太愚蠢。原始代码要长得多,但我把它缩小到这个小的摘录,它显示了主要结构。编译或执行期间没有错误或警告。
我的错误在哪里或什么地方?