这是我的情况。我试图将qml与大多数基于窗口小部件的UI结合起来。为此,我正在使用QQuickView和QWidget :: createWindowContainer。我不能使用QQuickWidget,因为我需要将窗口转换为本机窗口,而QQuickWidget不喜欢这样做。但回到问题。
我的问题是第一次显示视图时,它需要约半秒钟的时间来加载,从而引起非常明显的闪烁。之后,我可以随意隐藏/显示该视图,它会立即显示。只有第一次加载qml。我相当确定是加载qml导致问题。因为我有两个不同的QQuickViews,它们都以相同的qml作为源。但是在其中任何一个加载一次后,另一个就没有显示立即的问题。
我尝试尽早调用view上的show()以使其及时加载。但这会导致qml在任何小部件显示之前出现一瞬间。
是否有人遇到类似的问题?如何使QQuickView行为良好。
编辑:我使用的是Qt 5.4.2,由于各种原因,我无法更新到更新版本。
我的问题是第一次显示视图时,它需要约半秒钟的时间来加载,从而引起非常明显的闪烁。之后,我可以随意隐藏/显示该视图,它会立即显示。只有第一次加载qml。我相当确定是加载qml导致问题。因为我有两个不同的QQuickViews,它们都以相同的qml作为源。但是在其中任何一个加载一次后,另一个就没有显示立即的问题。
我尝试尽早调用view上的show()以使其及时加载。但这会导致qml在任何小部件显示之前出现一瞬间。
是否有人遇到类似的问题?如何使QQuickView行为良好。
编辑:我使用的是Qt 5.4.2,由于各种原因,我无法更新到更新版本。
import QtQuick.Controls 2.0
更改为import QtQuick.Controls 1.3
(或者与 Qt 5.4.2 发布的 Controls 版本相对应的版本),这样它应该能够正常工作。 - Mitch