如何绘制到“父TLW后备存储”?

时间:2015-06-04 17:57:52

标签: c++ qt window raster qnx

这可能是一个非常复杂的问题,但很多人都不知道答案,但我仍然会问。

我确实有QWindow派生类,带有重载的event(),它使用Backing store并用颜色填充整个窗口,比方说黑色。

现在我有了我的QT QML应用程序,当我创建窗口并将父设置为我的应用程序的主视图时,我将窗口大小设置为1x1px!这让我抓狂......

我通过QT源代码挖掘并发现了这个:

void QQnxRasterWindow::adjustBufferSize()
{
// When having a raster window we don't need any buffers, since
// Qt will draw to the parent TLW backing store.
const QSize windowSize = window()->parent() ? QSize(1,1) : window()->size();
if (windowSize != bufferSize())
   setBufferSize(windowSize);
}

void QQnxRasterWindow::setParent(const QPlatformWindow *wnd)
{
    QQnxWindow::setParent(wnd);
    adjustBufferSize();
}

这有点无聊,因为我不知道我现在想如何使用TLW并进入我的窗口。 有什么想法吗?

首先是什么是TLW? 其次,我如何以一种最终进入窗口缓冲区的方式绘制父TLW。

谢谢

QT 5.3.1

编辑: 不renderNow() - 我的错误, 重载函数事件,它使用事件UpdateRequested来绘制我的背景。

EDIT2: 这也是唯一的问题,当我设置父,没有父集我可以做我想用我的QWindow,它有自己的缓冲区。有点奇怪。

0 个答案:

没有答案