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

时间:2013-06-27 07:45:27

标签: c++ qt qml

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

2 个答案:

答案 0 :(得分:12)

您可以使用以下内容(假设您位于QQuickView的子类中):

QUrl tmp = source();
setSource(QUrl());
engine()->clearComponentCache();
setSource(tmp);

答案 1 :(得分:1)

你可以按照他的方式去做:

  1. 创建一个main.qml(名称可以是任何内容)文件,在其中,您将实际加载和卸载其他qml文件。

  2. 然后使用qml loader element加载/卸载(如果可能,请刷新)任何其他文件。