crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Проблема с QObject::connect
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
l0rdex Дата 8.10.2013, 9:29
  Litkevich Yuriy, правильно говорит + дебагер обычно пишет найден ли слот.
Litkevich Yuriy Дата 6.10.2013, 14:23
 
Цитата(vaansk @ 5.10.2013, 15:07) *
В чем ошибка в первом варианте?
В том что у QApplication (объект которого ты передаёшь в качестве объекта-получателя) нет слота List.ShowList()
ilyabvt Дата 5.10.2013, 16:33
  Проверьте что MainList наследуется от QObject и использует макрос Q_OBJECT. Метод ShowList должен быть объявлен как слот.
vaansk Дата 5.10.2013, 14:29
  не компилится

Цитата
Error 1 error C2665: 'QObject::connect' : none of the 3 overloads could convert all the argument types C:\VSC\main.cpp 10


при наведении на SLOT пишет "too many arguments in functions call"
пробовал и
... &List, SLOT(ShowList()));

и
... &List, SLOT(MainList::ShowList()));
ilyabvt Дата 5.10.2013, 13:47
  Попробуйте так:
QObject::connect(w.ui.ButtonFind, SIGNAL(clicked()), &List, SLOT(ShowList()));

Внутри "SLOT" нужно писать только имя слота. А receiver это у вас не QApplication а MainList.
vaansk Дата 5.10.2013, 13:07
  Имеется приложение

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    ourtrack w;

    MainList List(w.ui.TableResult, w.ui.EditFind);
    QObject::connect(w.ui.ButtonFind, SIGNAL(clicked()), &a, SLOT(List.ShowList()));

    w.show();
    return a.exec();
}


Однако при нажатии на ButtonFind на форме ничего не происходит.
Если написать
QObject::connect(w.ui.ButtonFind, SIGNAL(clicked()), &a, SLOT(quit()));

то все нормально и при нажатии на ButtonFind форма закрывается

В чем ошибка в первом варианте?

Делал класс MainList подклассом w.ui и в конструкторе MainProg:
QObject::connect(ui.ButtonFind, SIGNAL(clicked()), this, SLOT(List.ShowList()));

эффект такой же
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.4.2024, 17:25