我正在使用QML开发前端,并且在访问我的主QML窗口中的一个组件时遇到了问题。因此,我的主QML窗口如下所示:
ApplicationWindow {
id: rootWindow
objectName: "window"
property Component mainScreen: MainScreen {} // my component
// This is a slot that gets called from C++ side.
// The function gets called fine.
function videoDone() {
mainScreen.doVideo()
}
}
组件MainScreen
在MainScreen.qml
文件中编写如下:
ControlView {
id: mainScreenView
objectName: "MainScreenView"
function doVideo() {
console.log("Called")
}
}
然而,这并没有按照预期工作,我收到了以下错误信息:
TypeError: Property 'doVideo' of object QQmlComponent is not a function
我认为问题在于在ApplicationWindow级别没有看到
MainScreen
的完整定义。我试图查看是否可以进行强制转换,但没有成功。此外,
mainScreen.objectName
返回一个空字符串而不是MainScreenView
。