gpt4 book ai didi

c++ - 使用 Qt 和 OpenGL 重复渲染循环

转载 作者:行者123 更新时间:2023-11-30 04:40:02 24 4
gpt4 key购买 nike

我用 Qt 和 OpenGL 做了一个项目。

我相信在 Qt 中 paintGL() 被反复调用,所以我能够在该函数之外更改值并调用 update() 以便它绘制新图像。我还相信它会在您启动程序后立即调用 initializeGL()。

现在我的问题是:

我想在不同的程序中使用相同的功能。我不需要绘制任何图像等。我只是想知道是否有一种方法可以使像 paintGL() 这样的函数不断被调用,这样应用程序就永远不会关闭。我尝试只使用 while(true) 循环来保持我的程序运行,但 GUI 由于 while 循环而处于非事件状态。

任何技巧,最好不要线程。

谢谢。

最佳答案

确切的机制将取决于您使用的是哪个 GUI 工具包。通常,您的应用程序需要不断地为运行循环提供服务,以便分派(dispatch)事件。这就是为什么您的应用在 while 循环中运行时没有响应的原因。

如果您需要经常重绘某些内容,最简单的方法是在创建窗口时创建一个计时器,然后在计时器甚至处理程序或回调中,使强制重绘的窗口无效。然后可以按照计时器的频率调用您的绘画处理程序,例如每秒 25 次。

关于c++ - 使用 Qt 和 OpenGL 重复渲染循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1807857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com