Вызов paintGL явно в QT
В Qt метод paintGL вызывается автоматически из-за событий, упомянутых в этом посте: Когда вызывается paintGL в QGLWidget? , Что мне нужно сделать, если мне нужно явно вызвать метод paintGL из одной из функций класса. void CubeView:: update () {QMatrix4x4 world; double posx = drawcursor (); world.translate (PosX,0,0); кубическая>setLocalTransform(мир); станд:: соиЬ << "привет \ п"; // QGLPainter paint; // paintGL (& paint);
Это продолжение моего предыдущего вопроса, так как некоторые вещи теперь мне понятны.
1. Вы не можете явно вызвать метод paintGL в qt. 2. Класс QGLView не имеет метода updateGL - он есть в QGLWidget.
Основываясь на этих моих вопросах:
- Могу ли я использовать класс виджетов QGL в qt3d. Смогу ли я использовать все функции, такие как QGL Builder и т. Д. Здесь?
- Есть ли в qglview метод, который может заменить метод updategl? Какой-то метод, который просматривается перед вызовом класса paintgl? Некоторая функция, которая проверяется каждый раз перед покраской.
1 ответ
Если вы хотите принудительно перерисовать, не дожидаясь обработки событий, вы можете позвонить QGLWidget::updateGL()
, В этом случае paintGL
называется сразу.