那么如何将我们设计的qml文件添加进qt的project中呢?也就是如何在qt的application中使用qml。这里就自然进入第三个部分。 3、QtDeclarative 这个模块是用来装载ui的。还是看代码先。这是qt declarative的objectlistmodel的例子。 首先看一下objectlistmodel的pro文件 TEMPLATE = app TARGET = objectlistmodel QT += declarative # Input SOURCES += main.cpp \ dataobject.cpp HEADERS += dataobject.h RESOURCES += objectlistmodel.qrc objectlistmodel的main.cpp文件: #include <QApplication> #include <qdeclarativeengine.h> #include <qdeclarativecontext.h> #include <qdeclarative.h> #include <qdeclarativeitem.h> #include <qdeclarativeview.h> #include “dataobject.h” /* This example illustrates exposing a QList<QObject*> as a model in QML */ int main(int argc, char ** argv) { QApplication app(argc, argv); QDeclarativeView view; QList<QObject*> dataList; dataList.append(new DataObject(“Item 1″, “red”)); dataList.append(new DataObject(“Item 2″, “green”)); dataList.append(new DataObject(“Item 3″, “blue”)); dataList.append(new DataObject(“Item 4″, “yellow”)); QDeclarativeContext *ctxt = view.rootContext(); ctxt->setContextProperty(“myModel”, QVariant::fromValue(dataList)); view.setSource(QUrl(“qrc:view.qml”)); view.show(); return app.exec(); } 看到了吧,就是用QDeclarativeView这个类来装载ui的。 那下面我们就可以自己写个application,把图中的12.qml装载进去编译成一个exe文件了。 下面是我用到的main.cpp的代码: QApplication a(argc, argv); QDeclarativeView vi; vi.setSource(QUrl(“12.qml”)); vi.setResizeMode(QDeclarativeView::SizeRootObjectToView); vi.show(); return a.exec(); ok,至此4.7的性能介绍完毕。通过这个介绍我们也知道了4.7开发app的基本流程。 如有bug欢迎指正。 |