【问题标题】:Calling the paintGL explicitly in QT在 QT 中显式调用paintGL
【发布时间】: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有。

基于这些,我的问题是:

  1. 我可以在 qt3d 中使用 QGL 小部件类吗?我可以在这里使用 QGL builder 等所有功能吗?
  2. qglview 中是否有任何方法可以替代 updategl 方法?在调用paintgl 类之前查看的某些方法?每次在paintgl之前检查的一些功能。

【问题讨论】:

    标签: qt qt5.3 qt3d


    【解决方案1】:

    如果您想在不等待事件处理的情况下强制重绘,您可以致电QGLWidget::updateGL()。这样paintGL会立即被调用。

    【讨论】:

    • 对不起,我忘了说我正在使用 qt3d 并且我正在使用 QGLView 类。它有initializeGL 和paintGL 方法,但没有updateGL 方法。或者,是否有任何方法可以作为 qt3d 中更新方法的替代方法?
    • 要在 qt5 上强制重绘 QOpenGLWidget,只需调用它的 update() 方法,不带参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多