Название: проблема со слотами Отправлено: injectres от Июль 31, 2011, 18:27 Добрый день, у меня есть такой вопрос:
У меня есть класс GLWidget, унаследованный от QGLWidget, в этом классе я описываю слот Slot_test(), на форме есть widget, преобразованный в GLWidget, с помощью пункта меню "изменить сигналы и слоты" я добавил слот Slot_test. С помощью редактора сигналов и слотов добавил следующую связку: pushbutton отправляет сигнал clicked() его принимает widget и обрабатывается слотом Slot_test при выполнении программы я получаю ошибку: Object::connect: No such slot QGLWidget::Slot_test() in ./ui_mainwindow.h:99 Object::connect: (sender name: 'pushButton') Object::connect: (receiver name: 'widget') 99 строка ui_mainwindow.h такая: QObject::connect(pushButton, SIGNAL(clicked()), widget, SLOT(Slot_test())); При наведении на Slot _test в 99 строке вылезает подсказка, что он из GLWidget, но почему вылезает ошибка? И как ее избежать? Название: Re: проблема со слотами Отправлено: kambala от Июль 31, 2011, 18:47 а Slot_test() описан в разделе слотов в классе GLWidget?
Название: Re: проблема со слотами Отправлено: injectres от Июль 31, 2011, 20:32 а Slot_test() описан в разделе слотов в классе GLWidget? Да, конечно, описан, даже когда ручками пытаешься вызвать connect, когда указываю последний параметр SLOT( ) автоподстановка предлагает Slot_test()Название: Re: проблема со слотами Отправлено: LisandreL от Июль 31, 2011, 20:46 Object::connect: No such slot QGLWidget::Slot_test() in ./ui_mainwindow.h:99
Не GLWidget, а QGLWidget - ищите ошибку тут. Название: Re: проблема со слотами Отправлено: injectres от Июль 31, 2011, 20:57 Object::connect: No such slot QGLWidget::Slot_test() in ./ui_mainwindow.h:99 Эмм... так собственно это по сути и есть мой вопрос, я не вижу логического объяснения данной ситуации. Ведь третьим параметром я указываю указатель на объект типа GLWidget.Не GLWidget, а QGLWidget - ищите ошибку тут. Название: Re: проблема со слотами Отправлено: injectres от Июль 31, 2011, 21:32 Решил проблему сам, спасибо тем, кто пытался помочь. Проблема решалась банально, в GLWidget.h не было прописано Q_OBJECT
|