当我使用Qt.createComponent
动态创建组件时,状态总是Component.error
,但我无法理解原因。
我的使用方式如下:
Rectangle{
function loadTest(){
function finishCreation() {
if (component.status === Component.Ready) {
console.log("ready")
} else if (component.status === Component.Error) {
// Error Handling
console.log("Error loading component:", component.errorString());
}
}
var component = Qt.createComponent("MyPage.qml");
console.log(component.status)
console.log("Error loading component:", component.errorString());
component.statusChanged.connect(finishCreation);
if (component.status === Component.Ready) {
var button = component.createObject(container);
console.log("ready")
}
}
Component.onCompleted: {
console.log("Completed Running!")
loadTest()
}
}
如果在qrc文件中找不到MyPage.qml,则会出现以下错误:
qrc:/MyPage.qml:-1 文件未找到"
如果我设置了MyPage.qml的完整路径,将会出现网络错误。
当我将SeriesSelectionPage.qml文件添加到资源文件中时,它可以工作。但这不应该是动态的吗?
我只想在应用程序执行时动态查找QML文件并加载它,以便应用程序可以根据用户操作加载不同的QML。
有人知道如何做到这一点吗?我快疯了。