首页| 论坛| 消息

标题:qml怎么定义全局变量
作者:自强不吸
日期:2017-06-19 14:36
内容:

qml怎么定义全局变量,或者说有什么其他方法可以在两个qml文件之间提供全局变量调用的


#1 [spark253649 06-19 18:25]
用c++创建一个对象设为上下文属性,这样对象在qml之前创建了,两个文件都可以调对象的成员了
#2 [never_forget 06-20 08:20]
主窗口里面的全局属性可以被全局访问的!
#3 回 spark253649 的帖子 [XChinux 06-20 08:59]
spark253649:用c++创建一个对象设为上下文属性,这样对象在qml之前创建了,两个文件都可以调对象的成员了
 (2017-06-19 18:25) 
顶这个,比较灵活方便。
#4 [mmlgq 06-22 09:50]
还有一种方法就是qml单例,不过似乎添加可以,修改单例变量会莫名奇妙编译错误,然后又莫名奇妙好了...还没理解,有大神知道解释下。
代码:
注册单例到元对象:
qmlRegisterSingletonType(QUrl("qrc:/GlobalProperty.qml"), "tool.addInfo.Global", 1, 0, "GlobalVar");

单例qml文件代码
pragma Singletonimport QtQuick 2.7
QtObject {
property int pageFlag: -1;
property boolcontentChanged: false;
property color mainColor:"#37906f";
property var qmlPageArr: ["xx.qml","xx2.qml"];
}
使用:先导入import tool.addInfo.Global 1.0
Rectangle {
p ..
#5 回 spark253649 的帖子 [自强不吸 06-22 11:27]
spark253649:用c++创建一个对象设为上下文属性,这样对象在qml之前创建了,两个文件都可以调对象的成员了
 (2017-06-19 18:25) 
好的,谢谢,我就是这么干的,写成单例

<< 1 2 >> (1/2)

回复 发表
主题 版块