在 QT 中显式调用paintGL
Posted
技术标签:
【中文标题】在 QT 中显式调用paintGL【英文标题】:Calling the paintGL explicitly in QT 【发布时间】:2014-11-25 07:28:12 【问题描述】:在 Qt 中,由于这篇文章中提到的事件,paintGL 方法被自动调用: When is QGLWidget's paintGL called?。 如果我需要从类函数之一显式调用paintGL 方法,我需要做什么。 无效 CubeView::update() QMatrix4x4 世界; 双 posx=drawcursor(); world.translate(posx,0,0); 立方体->setLocalTransform(世界); std::cout
这是对我之前的问题的跟进,因为我现在已经清楚了一些事情。
1.您不能在 qt 中显式调用paintGL 方法。 2、QGLView类没有updateGL方法——QGLWidget有。
基于这些,我的问题是:
-
我可以在 qt3d 中使用 QGL 小部件类吗?我可以在这里使用 QGL builder 等所有功能吗?
qglview 中是否有任何方法可以替代 updategl 方法?在调用paintgl 类之前查看的某些方法?每次在paintgl之前检查的一些功能。
【问题讨论】:
【参考方案1】:如果您想在不等待事件处理的情况下强制重绘,您可以致电QGLWidget::updateGL()
。这样paintGL
会立即被调用。
【讨论】:
对不起,我忘了说我正在使用 qt3d 并且我正在使用 QGLView 类。它有initializeGL 和paintGL 方法,但没有updateGL 方法。或者,是否有任何方法可以作为 qt3d 中更新方法的替代方法? 要在 qt5 上强制重绘 QOpenGLWidget,只需调用它的update()
方法,不带参数。以上是关于在 QT 中显式调用paintGL的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要在 grails 中显式刷新 GORM 保存调用?