Я хочу сделать что-то довольно простое. Нажмите кнопку-переключатель и получите окно сообщения в QT.
цена за тысячу показов:
_show_hide_password = new QPushButton( "abc" );
_show_hide_password->setCheckable( true );
...
QMessageBox* show_password_warning = new QMessageBox ( this );
...
connect( _show_hide_password, SIGNAL ( toggled( bool ) ), this, SLOT ( showHidePw_ButtonAction( QMessageBox* show_password_warning ) ) );
void showHidePw_ButtonAction( QMessageBox* dialog ){...}
h:
public slots:
void showHidePw_ButtonAction( QMessageBox* dialog);
Независимо от того, как я форматирую СЛОТ в коннекте или в .h, я не могу разобрать аргумент в слот. Это довольно раздражает. Однако это работает, когда я вообще не передаю аргументы в слот:
цена за тысячу показов:
connect( _show_hide_password, SIGNAL ( toggled( bool ) ), this, SLOT ( showHidePw_ButtonAction() ) );
h:
public slots:
void showHidePw_ButtonAction( );
Но мне не разрешено сохранять QMessageBox* show_password_warning глобальным в .h-data.
Как передать аргумент функции, объявленной в сигнале?
Я полагаю, что это довольно простой вариант использования. Должно быть хорошее и чистое решение, которое не требует каких-то чрезмерных функций преобразования кодового сигнала.
Он компилируется без проблем, но после запуска программы я получаю следующую ошибку:
QObject::connect: No such slot PinEntryDialog::showHidePw_ButtonAction( QMessageBox* show_password_warning ) in pinentrydialog.cpp:198