将qml文件重新加载到QQuickView的正确方法是什么?我正在使用Qt Quick 2.1并尝试编写一个加载qml文件并显示它的简单程序。目前我正在创建一个QQuickView,当我想重新加载qml文件时,我将删除旧的并创建一个新文件。这样做的正确方法是什么?使用新的qml文件(或更改的qml文件)调用QQuickView :: setSource对我没有用。
答案 0 :(得分:12)
您可以使用以下内容(假设您位于QQuickView
的子类中):
QUrl tmp = source();
setSource(QUrl());
engine()->clearComponentCache();
setSource(tmp);
答案 1 :(得分:1)
你可以按照他的方式去做:
创建一个main.qml(名称可以是任何内容)文件,在其中,您将实际加载和卸载其他qml文件。
然后使用qml loader element加载/卸载(如果可能,请刷新)任何其他文件。