如何将qml文件重新加载到QQuickView

ott*_*tto 6 c++ qt qml

将qml文件重新加载到QQuickView的正确方法是什么?我正在使用Qt Quick 2.1并尝试编写一个加载qml文件并显示它的简单程序.目前我正在创建一个QQuickView,当我想重新加载qml文件时,我将删除旧的并创建一个新文件.这样做的正确方法是什么?使用新的qml文件(或更改的qml文件)调用QQuickView :: setSource并不适用于我.

Tho*_*ire 12

您可以使用以下(假设您在子类中QQuickView):

QUrl tmp = source();
setSource(QUrl());
engine()->clearComponentCache();
setSource(tmp);
Run Code Online (Sandbox Code Playgroud)

  • 我必须在清除组件缓存之前添加`setSource(QUrl());`,否则主QML将无法正确重新加载.我也编辑了这样做的答案(如果你认为这是太具侵略性的编辑,请随时回滚). (2认同)