QT–C++和QML交互(一)的例子中在main.qml中加载的c++类模块,相当于一个局部变量,每到此qml时执行一次初始化。
要想把c++定义的类当做全局变量使用,可在main.cpp中new个类,然后定义上下文属性,之后直接在qml中调用名字就行了。如下
下面展示一些 内联代码片
。
// 定义全局变量
Parameter *p_parameter = new Parameter();
//可更改属性值 Parameter中定义的 Q_PROPERTY(QString value ...
p_parameter->setProperty("value","100");
//设置parameter_qmpproname属性名到qml中使用,p_parameter为上下文数据
engine.rootContext()->setContextProperty("parameter_qmpproname", p_parameter);
// 定义全局变量
Parameter *p_parameter = new Parameter();
//可更改属性值 Parameter中定义的 Q_PROPERTY(QString value ...
p_parameter->setProperty("value","100");
//设置parameter_qmpproname属性名到qml中使用,p_parameter为上下文数据
engine.rootContext()->setContextProperty("parameter_qmpproname", p_parameter);
在使用的时候直接在qml中parameter_qmpproname.value就行
Component {
id:rejCapacity
NumberKey
{
id:rejNum
title: "拒钞口容量张数"
number:parameter_qmpproname.value // //c++数据