Qt QWindow光栅图形不会自动渲染

时间:2014-06-05 15:50:04

标签: c++ qt

我的子类QWindow是为了提供简单的光栅图形来显示游戏的传入帧。我按照此处http://qt-project.org/doc/qt-5/qtgui-rasterwindow-example.html的光栅窗口示例进行操作。

几乎所有东西都很好用,除了新窗体只在窗口调整大小时在屏幕上绘制。我尝试从main函数运行renderNow()函数,但窗口不会渲染新帧,因为isExposed()始终为false。这是什么原因?

这是指代码http://pastebin.com/3gxBee7K

的链接

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我创建了一个名为mRunning的bool,我创建了一个setRun(bool run)函数。

该功能如下所示:

void RasterWindow::setRun(bool run) {
    mRunning = run;
    if (run)
        renderLater();
}

然后在renderNow()函数的末尾我添加了:

if (mRunning)
    renderLater();