Russian Qt Forum

Qt => Общие вопросы => Тема начата: vasa_sol от Январь 12, 2007, 15:17



Название: сигналы, слоты
Отправлено: vasa_sol от Январь 12, 2007, 15:17
из test вызывается диалог:

Код:

MyDialog::MyDialog(test* ut5, QWidget * parent, const char * name)
    : QDialog(parent, name)
{
but_OK = new QPushButton( this );
connect( but_OK, SIGNAL(clicked()),ut5,SLOT(fChanged( arg1 *, arg2 * )));
}

и не работает connect :(

вижу сообчение:

QObject::connect: Incompatible sender/receiver arguments
QPushButton::clicked()->test::fChanged( arg1 *, arg2 * )


Как заставить работать connect?[/code]


Название: сигналы, слоты
Отправлено: QCasper от Январь 12, 2007, 16:14
Ну ни фига себе, конечно несовместимы. Надо чтобы входные и выходные параметры сигнала совпадали со слотовым, например если signal: void clicked(void); то и слот должен быть подобный, например void fChanged(void), или хотя бы объявите fChanged с параметрами по умолчанию: void fChanged(char *arg1 = 0, char *arg2 = 0);

И почитайте повнимательнее у Бланшета про механизм сигналов и слотов.


Название: сигналы, слоты
Отправлено: vasa_sol от Январь 13, 2007, 14:24
ПАСИБ!