LINUX.ORG.RU

QT - Сигналы и слоты - как связать

 ,


0

1

Доброго времени суток! У меня есть основной класс диалога и в нем еще дочерний. Идея в том, что при нажатии на кнопку ОК в дочернем диалоге должен посылатся сигнал, который бы обработал основной. Я сделал сигналы и слоты и теперь пытаюсь связать в конструкторе главного дилаога

 QObject::connect(dlgEditTransport, SIGNAL(changeTransport(int, QString , QString , QString )), this, SLOT(changeTransport(int, QString , QString , QString )));

Но вот, что выдает: ..\kurs2\dialog.cpp:14:163: error: no matching function for call to 'Dialog::connect(DialogEditTransport&, const char*, Dialog* const, const char*)'

И еще вопрос - а можно ли без сигналов-слотов узнать, что в дочернем диалоге произошло событие Accepted()?

И еще вопрос - а можно ли без сигналов-слотов узнать, что в дочернем диалоге произошло событие Accepted()?

if (myDialog->exec() == QDialog::Accepted) {...
UVV ★★★★★ ()

Но вот, что выдает: ..\kurs2\dialog.cpp:14:163: error: no matching function for call to 'Dialog::connect(DialogEditTransport&, const char*, Dialog* const, const char*)'

Без исходников сложно сказать, что ты там наворотил...

UVV ★★★★★ ()

QObject::connect(dlgEditTransport,

->

QObject::connect(&dlgEditTransport,

По указателю нужно.

а можно ли без сигналов-слотов узнать, что в дочернем диалоге произошло событие Accepted()?

exec()?

schizoid ★★★ ()

Используй connect qt5, он более надежный

seftoner ()
Ответ на: комментарий от schizoid

Плюсую этого господина. Компилятор же все написал, читать кто будет?

solovey ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.