Как вызвать слот из другого заголовочного файла - PullRequest
0 голосов
/ 07 марта 2019
    SettingDialog *s = new SettingDialog();
QObject::connect(SettingsLabelBtn,SettingsLabelBtn->clicked(),s,s->changeSettings());

У меня есть mainwindow.h и settingdialog.h.Я хочу, чтобы при нажатии SettingLabelBtn (это объект QPushButton) это событие вызывало слоты из settingdialog.h.

класс главного окна, производный от QMainWindow, также имеет класс настройки макроса Q_Object, полученный из QDialog, также есть макрос Q_Object

Моя ошибка - не соответствует функция-член для вызова 'connect'

1 Ответ

0 голосов
/ 07 марта 2019

Ваш синтаксис connect неверен - вы вызываете функции-члены, а не передаете их соответствующие адреса.Попробуйте ...

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

Также см. Документацию относительно нового синтаксиса сигнала / слота.

...