鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 编程语言开发 > c++ > >

QML和C++的相互调用

来源:互联网 作者:佚名 时间:2016-07-01 16:53
把微信里的打飞机游戏界面用QML实现,实际的计算放在C++中;并且实现了QML调用C++的函数,C++也能调用QML的函数 源码链接:http://pan.baidu.com/s/1i5zzOot密码:aqzn 无 1.在main函数对QML进行加载 //QML界面的加载 QQmlEngine engine; QQmlComponent compo
把微信里的打飞机游戏界面用QML实现,实际的计算放在C++中;并且实现了QML调用C++的函数,C++也能调用QML的函数
源码链接:http://pan.baidu.com/s/1i5zzOot 密码:aqzn <无>
 1.在main函数对QML进行加载   
    //QML界面的加载
    QQmlEngine engine;
    QQmlComponent component(&engine, QUrl(QStringLiteral("qrc:/main.qml")));
    qDebug() << component.errors();
    Fly::qmlObj = component.create();

2.在Fly类中将,必须将qmlObj对象设置为static,因为这样才能保证,你注册到qml中的Fly对象和你自己使用的Fly对象是同一个对象
static QObject* qmlObj;

3.C++调用qml的方式:
QMetaObject::invokeMethod(root , "destroyBullet" , Q_ARG(QVariant , obj));

4.C++注册到qml中方式:
qmlRegisterType<Fly>("fly", 1, 0, "Fly");

在qml中包含头文件:import fly 1.0
网友评论
<