• 5410阅读
  • 1回复

多窗口更新问题(OpenGL) [复制链接]

上一主题 下一主题
离线tuoshi
 

只看楼主 倒序阅读 楼主  发表于: 2008-10-22
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我在用OpenGL开发一个多窗口程序(一个场景多视角显示)遇到这样一个问题,我希望能在其中一个窗口中对场景做出修改后,其他窗口马上能自动根据场景的修改来更新显示,但是我发现QtOpenGL的更新机制(updateGL)是你并需通过鼠标或其它方法激活其它窗口后才会进行更新显示。
不知道我说明白这个问题没,举例说明吧 假如我现在 有4个Viewport 类, 我更改了其中的一个,然后发送一个信号通知其它的viewport都调用updateGL这个函数去更新场景,但是这样做场景并没有立刻实时更新,只有在我用鼠标点击其它窗口激活时场景才会更新。
我希望能知道有没有什么办法能保证所有的窗口都能在某一个被激活时实时更新呢?刚用QT不久经验尚浅,希望高手们给出好的建议。
离线tuoshi

只看该作者 1楼 发表于: 2008-10-23
我给出自己解决问题的下策:
    给每个窗口一个定时器(QTimer)然后设定一个较短的时间间隔让每个窗口不停更新,可以解决问题。
但是我希望可以在外界无输入的时候不用更新FrameBuffer,但是一旦外界对其中一个窗口修改,其他的可以立刻实时的进行显示。
快速回复
限100 字节
 
上一个 下一个