Russian Qt Forum
Ноябрь 23, 2024, 13:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: проблема со слотами  (Прочитано 3372 раз)
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, но почему вылезает ошибка? И как ее избежать?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #1 : Июль 31, 2011, 18:47 »

а Slot_test() описан в разделе слотов в классе GLWidget?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
injectres
Гость
« Ответ #2 : Июль 31, 2011, 20:32 »

а Slot_test() описан в разделе слотов в классе GLWidget?
Да, конечно, описан, даже когда ручками пытаешься вызвать connect, когда указываю последний параметр SLOT( ) автоподстановка предлагает Slot_test()
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #3 : Июль 31, 2011, 20:46 »

Object::connect: No such slot QGLWidget::Slot_test() in ./ui_mainwindow.h:99

Не GLWidget, а QGLWidget - ищите ошибку тут.
Записан
injectres
Гость
« Ответ #4 : Июль 31, 2011, 20:57 »

Object::connect: No such slot QGLWidget::Slot_test() in ./ui_mainwindow.h:99

Не GLWidget, а QGLWidget - ищите ошибку тут.
Эмм... так собственно это по сути и есть мой вопрос, я не вижу логического объяснения данной ситуации. Ведь третьим параметром я указываю указатель на объект типа GLWidget.
Записан
injectres
Гость
« Ответ #5 : Июль 31, 2011, 21:32 »

Решил проблему сам, спасибо тем, кто пытался помочь. Проблема решалась банально, в GLWidget.h не было прописано Q_OBJECT
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.058 секунд. Запросов: 22.