QT中C++与QML实现交互的两种基本方式
(1)注册上下文(将C++对象嵌入到带有上下文属性的QML中)
main.cpp:
#include<QGuiApplication>
#include<QQuickView>
#include<QQmlContext>
#include"mytest.h" //包含三个基本的库文件以及类的头文件
int main(intargc, char *argv[])
{
QGuiApplication app(argc, argv);
MyTest data; //定义一个类对象
QQuickView view;
view.rootContext()->setContextProperty("myObjectExposeByCXProperty",&data);
view.setSource(QUrl("qrc:/main.qml"));
view.show();
return app.exec();
}
main.qml:
//注意使用注册上下文的方式就不能使用系统自带的窗口了
import QtQuick2.3
import QtQuick.Controls1.0
Item {
id:window
w