Название: QMainWindow + OpenGL Отправлено: Vladimir от Октябрь 11, 2011, 14:25 Доброго дня) Нужно отобразить графику OpenGL в главном окне Qt:
Класс главного окна: Код: class ClientGL : public QMainWindow, public Ui::ClientGLClass я так понимаю надо создать еще один класс: Код: class DrawOpenGL : public QGLWidget И этот класс каким-то образом увязать с главным окном.. вопрос КАК???!!! Допустим разместить через Qt Desiner, например, объект QWidget и в него выводить.. можно?? Тогда каким образом, подскажите пожалуйста?! =) Название: Re: QMainWindow + OpenGL Отправлено: alexman от Октябрь 11, 2011, 15:50 void QMainWindow::setCentralWidget ( QWidget * widget )
А в дизайнере через "Promote to". Название: Re: QMainWindow + OpenGL Отправлено: Vladimir от Октябрь 11, 2011, 16:54 void QMainWindow::setCentralWidget ( QWidget * widget ) А в дизайнере через "Promote to". Если я правильно понял в конструкторе главного окна (QMainWindow) добавляем: setCentralWidget(widgetGL); // где widgetGL objectName виджета в дизайнере: правой кнопкой по Главному окну -> Promote to, где выбираем "Base class name:" - QWidget "Promoted class name:" - DrawOpenGL "Header file:" - тот хедер, где описан DrawOpenGL тем самым мы свяжем главное окно с виджетом? И функции virtual void initializeGL(); virtual void resizeGL(int nWidth, int nHeight); virtual void paintGL(); должны вызываться автоматически при создании главного окна??? Или как оно должно работать?! Название: Re: QMainWindow + OpenGL Отправлено: alexman от Октябрь 12, 2011, 07:51 Про ООП почитал бы для начала.
Название: Re: QMainWindow + OpenGL Отправлено: Vladimir от Октябрь 12, 2011, 09:33 Про ООП почитал бы для начала. И, что конкретно мне о нем (ООП) почитать, что решит мой вопрос? Название: Re: QMainWindow + OpenGL Отправлено: Vladimir от Октябрь 12, 2011, 12:15 Что за форум, сам вопрос задаешь и сам же на него отвечаешь ((
Может кому пригодится, работает так: Код: class DrawOpenGL; В конструкторе класса ClientGL: Код: glWidget = new DrawOpenGL(widgetGL); // где widgetGL objectName виджета в методах initializeGL(); resizeGL(int nWidth, int nHeight); paintGL(); задаешь нужные параметры отрисовки OpenGL Вот и все) |