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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QGLWidget  (Прочитано 5784 раз)
Петр
Гость
« : Август 03, 2014, 19:26 »

Доброго времени суток. Озадачен вопросом как добавить QGLWidget В макет формы созданой
в дизайнере QtCreator`a В замешательстве
Записан
ammaximus
Гость
« Ответ #1 : Август 04, 2014, 17:56 »

В креаторе нет QGLWidget, это связано с тем, что от этого класса нужно наследоваться, чтобы реализовать метод paintGL. В противном случае сущность не имеет смысла. Экземпляр своего наследника ты можешь вставить так:
1. Добавь пустой лэйаут в нужное место формы и назови его осмысленно (например qgllayout)
2. Уже в классе формы (программно) после функции setupUI создай экземпляр своего наследника (instance)
3. qgllayout->addWidget(instance)

Для решения задачи так, как она поставлена есть более извращенное решение http://qt-project.org/forums/viewthread/38796
« Последнее редактирование: Август 04, 2014, 17:59 от ammaximus » Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Август 04, 2014, 18:07 »

Я делаю так:
-создаю на месте будущего виджета надпись.
-в коде меняю надпись на свой виджет c gjvjom.     layout()->replaceWidget()
-замененной метке присваиваю родителя 0 и высвобождаю память от неё.
Записан
navrocky
Гипер активный житель
*****
Offline Offline

Сообщений: 817


Погроммист


Просмотр профиля
« Ответ #3 : Август 04, 2014, 19:20 »

1. Добавь пустой лэйаут в нужное место формы и назови его осмысленно (например qgllayout)
2. Уже в классе формы (программно) после функции setupUI создай экземпляр своего наследника (instance)
3. qgllayout->addWidget(instance)

Не обязательно так сложно, в designer есть специальный функционал для этого:

1. Кладешь QWidget
2. В контекстном меню "Преобразовать в"
3. Указываешь свой класс, унаследованный от QGLWidget, и его хедер. => кнопка "Добавить"
4. Профит
Записан

Гугль в помощь
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #4 : Август 04, 2014, 20:02 »

Вот же шь....
Не знал Улыбающийся
Записан
ammaximus
Гость
« Ответ #5 : Август 04, 2014, 21:20 »

Цитировать
Не обязательно так сложно, в designer есть специальный функционал для этого:

1. Кладешь QWidget
2. В контекстном меню "Преобразовать в"
3. Указываешь свой класс, унаследованный от QGLWidget, и его хедер. => кнопка "Добавить"
4. Профит


Ха, ссылку разместил, а не прочитал, я не подумал даже про собственные хидеры
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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