QML Qt4.7实例2 在Qt(C++)中调用QML


搞了好几个小时,NokiaSDK现在的版本还不支持Symbian下的QDeclarative项目。也就是说现在用QML写的程序暂时还不能在Symbian系统上跑。 我用的是三星i8910, 在xp下安装了三星官网的PC suit后,才装上i8910的USB驱动。难怪,Declarative项目,Mobility项目现在都在测试中。还是等Qt4.7 release版本吧。Nokia Qt SDK简化了开发环境的搭配,不过目前只能用Nokia自己的手机。比如三星i8910就不能用,在QtCreator里面,project-> symbian->run-> port里面找不到设备。不过我们仍然能够利用命令行的方式编译自己写的程序,然后在非Nokia的symbian手机上跑。

写好QML代码,可以在qmlviewer里面跑,当然也可以直接编译成一个可执行文件的二进制包。虽然这些脚本都是runtime。这个过程很简单。在project项目 .pro文件里面加上 QT += declarative

然后在头文件里面这样写就OK了。具体的一些高级应用,请直接参考Qt4.7Beta的文档。

main.cpp

#include <QApplication>
#include <QDeclarativeView>
int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QDeclarativeView view;
    view.setSource(QUrl("qrc:/main.qml"));
    view.show();
    return app.exec();
}

main.qml

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
    </qresource>
</RCC>

news.pro

QT       += core gui declarative
TARGET = news
TEMPLATE = app
SOURCES += main.cpp
HEADERS  +=
FORMS    +=
OTHER_FILES += \
    main.qml
RESOURCES += example.qrc \
    example.qrc&nbsp;

效果截图:

QML Qt4.7实例2 在Qt(C++)中调用QML

相关内容