解析Qt4.7新特征Qt Quick開發流程
Qt4.7新特征Qt quick開發流程是本文要介紹的內容主要是來了解Qt Quick的開發流程,今天一早到了office立馬就去Qt官網,期待已久的4.7正式版還是沒出來。但是已經迫不及待得將所了解到的4.7的新特征和大家分享一下了。以下內容是對官方多個文檔的閱讀理解和自己的實例認證結果。
Qt4.7新的特征有一下幾點:
(1)全新的Qt quick UI開發工具
里面包括三個模塊,下面會詳細分享這三個部分分別如何工作,相互關系是什么,能為開發者帶來哪些好處。
(2)Qt質量的提升
這個嘛,是肯定有提升的。因為4.7采用新的Qt Continuous Integration系統開發出來的***個版本。所謂Qt Continuous Integration系統。說白了就是性能測試實驗做得多一點。當Qt新版本每加進或者更改一個功能的時候,這個系統可以對加進來的模塊進行測試,如果它對Qt其他部分性能產生壞的影響,那么將取消這個行為。也就是可以保證我們接下來使用的更高版本的Qt肯定比以前的性能更加優化。
(3)webkit的更新
Qt 4.7采用的更新了***的webkit2.0模塊。支持硬件加速CSS、3D動畫。
(4)Qt creator 2.0
creator2.0著重增加了mobile developers便利性。增加了對塞班和maemo開發環境的支持。
Qt quick工具包括三個部分。我們現在依次來了解這三個部分的內容和功能。
1、QML(Qt元對象解釋性語言)它是用來解釋和說明UI的。語言形式類似于CSS,功能類似于JavaScript。下面大家看一段QML代碼應該就清楚了。甚至這串代碼都不需要去解釋的。文件以qml為后綴名。(qml文件只是一個界面,可以是靜態的也可以是動態的。)qml可以實現很多復雜的ui動態交互。詳情可以參見qt的demo。
- Rectangle {
- id: rectangle1
- x: 208
- y: 31
- width: 100
- height: 100
- color: "#2afd00"
- radius: 50
- border.width: 0
- }
2、新的工具 Design 在creator2.0中。以圖為證:
qml和design工具***的優點在于可以實現qml腳本和ui的雙向動態交互。這在以前版本的工具designer中是實現不了的。而且qml是解釋性腳本語言,這個ui開發帶來很大的便利。
那么如何將我們設計的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”
- 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,至此QT4.7的性能介紹完畢。通過這個介紹我們也知道了4.7開發app的基本流程。 如有bug歡迎指正。
小結:解析Qt4.7新特征Qt Quick開發流程的內容介紹完了,希望通過本文的學習能對你有所幫助!更多關于QT的相關內容,請參考QT開發頻道。