我的子类QWindow是为了提供简单的光栅图形来显示游戏的传入帧。我按照此处http://qt-project.org/doc/qt-5/qtgui-rasterwindow-example.html的光栅窗口示例进行操作。
几乎所有东西都很好用,除了新窗体只在窗口调整大小时在屏幕上绘制。我尝试从main函数运行renderNow()函数,但窗口不会渲染新帧,因为isExposed()始终为false。这是什么原因?
的链接答案 0 :(得分:0)
我找到了解决方案。我创建了一个名为mRunning
的bool,我创建了一个setRun(bool run)
函数。
该功能如下所示:
void RasterWindow::setRun(bool run) {
mRunning = run;
if (run)
renderLater();
}
然后在renderNow()
函数的末尾我添加了:
if (mRunning)
renderLater();