QML是一种用于描述应用程序用户界面的声明式编程语言。它使用一些可视组件以及这些组件之间的交互来描述用户界面。本次测试的例子,是通过点击一个按钮,然后将c++中的数据改变到qml界面中,并且改变字体的颜色。
QML与c++的简单交互,文字说明:
首先在main文件里面注册好相应的类,此次使用的是一个按钮和一个文本框
QQmlApplicationEngine engine;
engine.rootContext()->setContextProperty(“colormaker”, new testdemo);
然后需要在.h文件中。声明一个signals void changed();来跟qml进行交互
在,加上
Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorchanged)
来对C++和QML来进行交互许可
//我们可以在qml文件里面使用
Connections{
target:colormaker //必须和主文件里面的名字一致
Oncolorchanged:{
text1.color = colormaker.color;//即可完成对c++的交互
}
}来调用testdemo对象,通过调用这个对象,使用对象里面的参数和方法就可以使得qml和c++能够正常交互
具体代码如下: