Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: @!!ex от Март 02, 2010, 17:59



Название: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 17:59
В списке Виджетов QGLWidget я не нашел. И ни один виджет преобразовать в QGLWIdget не получается.
В рантайме создавать не хочу,  если часть контролов создавать в дизайнтайм, а часть в рантайме - получается путаница.

Как в дизайн тайм создать QGLWidget?


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: Пантер от Март 02, 2010, 18:04
Создавай все в рантайме. ;)


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 18:11
Тогда использование Qt для нас теряет всякий смысл.
Я так понимаю - разместить QGLWidget  дизайнтайм никак нельзя?


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: alexman от Март 02, 2010, 18:11
promoteTo


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 18:14
promoteTo
promote class указать QGLWidget?


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: alexman от Март 02, 2010, 18:17
На форму кидаешь виджет и делаешь promoteTo по правой кнопке мыши на этом виджете... посмотри Qt Assistant!


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 18:18
Я в курсе как пользоваться promoteTo.
Просто я думал что только свои классы можно указывать.
Спасибо за подсказку.


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: BRE от Март 02, 2010, 18:24
Я в курсе как пользоваться promoteTo.
Просто я думал что только свои классы можно указывать.
Спасибо за подсказку.
Ну так что бы нормально использовать QGLWidget, нужно от него наследоваться, т.е. сделать свой класс, в котором переопределить некоторые виртуальные функции.  ;)


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: break от Март 02, 2010, 18:47
Цитировать
Тогда использование Qt для нас теряет всякий смысл.
Да ладно глупости! Qt это не графический построитель программ а библиотека для программиста.


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 19:03
У нас свои кроссплатформенные разработки для всего что нам нужно, кроме интерфейса.
нет смысла выбрасывать мегабайты кода за 5 лет работы ради... чего?


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: lit-uriy от Март 02, 2010, 19:13
>>Тогда использование Qt для нас теряет всякий смысл.
Дык, от Qt нужен только дизайнер?


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: break от Март 02, 2010, 19:15
у нас есть программа кот. использует GLWidget для своего рендера - есть QMainWindow, есть куча доком на нем - есть свой CRenderWindow нгаследник QGLWidegt - в коде конструктора своего главного окна создается экземпляр CRenderWindow и устанавливается как CentralWidget для главного окна - реально 2 строки без преувеличений

То что в дизайнере нет возможности поставить centralWidget - это косяк, а то что нельзя поставить GLWidegt может даже и правильно т.к. пока он без наследования не будет работать. Но можно написать свой наследник GLWidegt и стандартный плагин для дизайнера кот. будет позволять кидать его на форму.


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 19:16
Дык, от Qt нужен только дизайнер?
Дизайнер и готовые виджеты. +в Qt очень грамотный подход к расширению функциональности готовых виджетов.
Два раза уже брались делать свой набор виджетов и дизайнер, но это дело сильно неблагодарное и крайне трудоемкое.


Название: Re: Как в Qt Deisgner'e разместить в окне QGLWidget?
Отправлено: @!!ex от Март 02, 2010, 19:18
то что нельзя поставить GLWidegt может даже и правильно т.к. пока он без наследования не будет работать. Но можно написать свой наследник GLWidegt и стандартный плагин для дизайнера кот. будет позволять кидать его на форму.
Смысла нет делать плагин для дизайнера, если можно просто сделать наследника и promoteTo