主窗口变为空白

问题描述 投票:0回答:1

在我基于 QMainWindow 的应用程序中,我使用两个 QQuickWidgets。一种加载地图(使用QML 地图类型),另一种加载自定义场景。 MainWindow 还以 10 Hz 运行QTimer

当我不断放大/缩小地图时,有时主窗口会变成空白。这种行为是相当一致的。调整主窗口大小后,它会刷新,但有时 qml 场景无法正确渲染。请查看随附的屏幕截图。

为什么主窗口变成空白以及如何克服它。

您可以在 GitHub 上找到工作演示应用程序:github 链接

我正在使用桌面 Qt 5.12.3 MinGW 64 位

工作应用程序

空白主窗口

QML 场景损坏

qt qml
1个回答
0
投票

根据文档https://doc.qt.io/qt-5/qquickwidget.html#details:

注意:使用 QQuickWidget 会停用线程渲染 跨所有平台循环。因此,某些相关的优点 使用线程渲染,例如 Animator 类和垂直同步驱动 动画,将无法访问。

建议您考虑使用QQuickView而不是QQuickWidget。这是一个示例和概念表示:

quickView = new QQuickView();
QWidget *container = QWidget::createWindowContainer(quickView);
ui.verticalLayout->addWidget(container);
© www.soinside.com 2019 - 2024. All rights reserved.