如何从另一个头文件触发插槽

时间:2019-03-07 08:57:10

标签: qt5 signals-slots

    SettingDialog *s = new SettingDialog();
QObject::connect(SettingsLabelBtn,SettingsLabelBtn->clicked(),s,s->changeSettings());

我有mainwindow.h和settingdialog.h。我想在单击SettingLabelBtn(它是QPushButton对象)时将此事件触发到来自settingdialog.h的插槽。

从QMainWindow派生的mainwindow类,它也具有Q_Object宏 从QDialog派生的settingdialog类也具有Q_Object宏

我的错误是没有匹配的成员函数来调用“连接”

1 个答案:

答案 0 :(得分:0)

您的connect语法错误-您正在调用成员函数,而不是传递它们各自的地址。试试...

QObject::connect(SettingsLabelBtn, &QPushButton::clicked, s, &SettingDialog::changeSettings);

有关新的信号/插槽语法,另请参见documentation