【发布时间】:2013-08-24 09:22:37
【问题描述】:
我目前正在学习 Qt 以进行一些跨平台开发,并且我正在尝试使用 QML 做所有事情。我知道有很多方法可以使用 C++ 解决我的问题,但我想忠于模型并使用 QML。
这里是:如果我使用加载器来显示 qml 文件,如以下代码所示,我如何从 secondPage.qml 与 main.qml 通信?
我认为这将是通过信号,但进一步阅读后,似乎对信号的所有操作都在发送它的类中(使用连接的方法)。这是我的资源:@987654321@
另外,这可能是 QML 应用程序的错误设计。我正试图在事情变得失控之前摆脱使用单个源文件...
main.qml:
Rectangle {
id: background
...
Item{
id: item1
Loader {
....
id:pageLoader;
source : "secondPage.qml"
focus:true;
}
}
【问题讨论】:
-
叹息...我改写了文本以澄清问题,但没有修复标题。对于“曾祖父母”的误用,我深表歉意
-
@berules > 在
secondPage.qml你可以直接访问你的背景元素。另一种可能性是在您的secondPage组件中声明一个信号,然后在您的Loader的onLoaded处理程序中将来自该组件的信号连接到您曾祖父母的信号 -
是的!你是对的!我以某种方式说服自己 secondPage.qml 在其他一些错误之后无法访问其父级,但事实并非如此。非常感谢,如果您将此作为答案提交,我将确保接受。