Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Совместное использование QOpenGLWidget и QPainter.


Автор: OlegIT 5.7.2018, 16:01
Qt5.11 Нужно совместно вывести текст и 3D объект. В функции paintGL() последовательно вызываю отображение 3D объекта средствами OpenGL (шейдары, glBindBuffer...)  и накладываю на них текст средствами QPainter. По отдельности они отображаются, а совместно нет, чистое поле цветом glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);.
Делаю как в примерах, но не работает, как только вызываю p.begin(this); объекты OpenGL перестают отображаться.
Кстати в примерах используется много "старых" функций из-за которых это примеры не собираются.

Автор: kapbepucm 26.7.2018, 16:09
Там надо смотреть, похоже что qpainter не знает про то, что какои-то другой painter рисовал, ну и перерисовывает только то, что знает.

Автор: OlegIT 13.8.2018, 21:50
Взял пример из Qt5.11 всё заработало. ??? Честно говоря разбираться времени нет.
Такая же ситуация и в других моих проблемах, беру примеры из последних версий и всё начинает работать.

Автор: OlegIT 20.11.2018, 13:09
Как оказалось следую найденному примеру работает только drawText(...);. всё остальное из QPainter не работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)