QT Quick项目简介
生活随笔
收集整理的這篇文章主要介紹了
QT Quick项目简介
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?在Qt 4中,Qt Quick只是在QGraphicsView之上做了簡單的封裝,并通過QtScript和JavaScript來為其提供腳本支持。基于QGraphicsView之上的QML在功能上僅僅限于那些絕對必要且速度可以足夠快的繪制美觀用戶界面的部分。對于那些潛在影響繪制速度的高級功能,比如組合模式、QPainterPaths、QGraphicsEffects和復(fù)雜的畫筆等都不被支持的。
(圖1)Qt4中的Qt Quick架構(gòu) ?QT5中,QML和Qt Quick完全分離,兩者對于QT而言相當(dāng)于一個新語言和全新的類型庫,架構(gòu)圖如下:
?
(圖2)Qt5中的Qt Quick架構(gòu)
?Qt Qml 模塊本身并沒有涉及圖形顯示,所有圖形處理都由Qt Quick模塊完成Qt Quick以QPA為基礎(chǔ),之上經(jīng)過了Qt Gui、OpenGL、和 SceneGraph這三層封裝。
一、Qt Quick項目
按照類型的不同可以分為: Qt Quick UI項目、Qt Quick Application項目 (一)Qt Quick UI項目 Qt Quick UI項目中只包含QML和JavaScript代碼,沒有添加任何C++代碼,對于QML文件,無需編譯就可以直接在預(yù)覽工具中預(yù)覽效果;不僅如此,在沒有安裝開發(fā)環(huán)境的系統(tǒng)中也可以創(chuàng)建運行該類項目。
在選擇QT版本時對應(yīng)的哪些組建: Qt Quick Controls 1.1: 創(chuàng)建 Qt Quick 2 UI 項目, 要求Qt5.2及以上版本 Qt Quick Controls 1.0: 創(chuàng)建 Qt Quick 2 UI 項目, 要求Qt5.1及以上版本 Qt Quick 2.2:創(chuàng)建Qt Quick2 UI 項目, 要求Qt5.2及以上版本 Qt Quick 2.1:創(chuàng)建Qt Quick2 UI 項目, 要求Qt5.1及以上版本 Qt Quick 1.1:創(chuàng)建Qt Quick1 UI 項目, 要求Qt4.8及以上版本 用Qt Quick模塊的相應(yīng)組件時,會自動生成一個普通的主視圖界面。創(chuàng)建完畢可以使用QML Scene 直接預(yù)覽Qt Quick 2UI 項目,不需要進行構(gòu)建,也不需要在系統(tǒng)上搭建額外的開發(fā)環(huán)境。
創(chuàng)建成功后有兩個文件如下:
項目文件主要指定了項目中所用的qml文件、JavaScript文件和圖片文件所在的目錄(默認目錄為當(dāng)前目錄,即項目目錄)
在程序運行時并沒有編譯的過程,單獨的QML文件并不需要進行編譯,就能夠直接在qmlscene中進行預(yù)覽,在Qt Quick2 中,QML文件的預(yù)覽工具是QML Scene, 使用它可以在開發(fā)應(yīng)用時直接加載QML文件進行預(yù)覽和測試,也可以在“工具 -> 外部 -> Qt Quick”中運行工具
二、Qt Quick Application項目 在之前的QT開發(fā)中,傳統(tǒng)的開發(fā)qt應(yīng)用程序的項目的前端,以及數(shù)據(jù)邏輯的后端都是使用c++開發(fā)的,但是現(xiàn)在軟件開發(fā),對前端變化需求日益高漲,這與傳統(tǒng)相違背,所以為了前端的快速更迭,最好的方式將前后端分離,使用Qt Quick完成。 這種Qt Quick應(yīng)用程序可以同時包含QML 和C++代碼。程序中包含了一個QQuickView用于顯示前端,可以將Qt Quick應(yīng)用項目部署到桌面或者移動平臺;
項目文件介紹: 1、.pro:項目文件。這是普通的QT項目文件,指定程序使用的模塊、源文件、資源文件等 2、.pri :這是項目文件的補充,需要包含在項目文件中。類似include的頭文件,這個文件指出了編譯到不同平臺時的特殊設(shè)置。因為這些設(shè)置僅與項目的部署相關(guān),所以不需要全部添加到項目文件中,而單獨列出 3、main.cpp:其中包含了main()函數(shù),用于加載QML文件 4、.qrc:資源文件,所有的QML文件、圖片等都作為資源放在資源文件中。qml 文件也是資源文件的一部分
加載QML文件是在main.cpp中實現(xiàn)的如下:
#include <QGuiApplication> #include <QQmlApplicationEngine>
int main(int argc, char *argv[]) { QGuiApplication app(argc, argv);
QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec(); }
這里使用的QQmlApplicationEngine類來加載QML文件。這個類主要提供一個簡易的方式,將一個QML文件加載到正在運行的程序中。
(圖1)Qt4中的Qt Quick架構(gòu) ?QT5中,QML和Qt Quick完全分離,兩者對于QT而言相當(dāng)于一個新語言和全新的類型庫,架構(gòu)圖如下:
?
(圖2)Qt5中的Qt Quick架構(gòu)
?Qt Qml 模塊本身并沒有涉及圖形顯示,所有圖形處理都由Qt Quick模塊完成Qt Quick以QPA為基礎(chǔ),之上經(jīng)過了Qt Gui、OpenGL、和 SceneGraph這三層封裝。
一、Qt Quick項目
按照類型的不同可以分為: Qt Quick UI項目、Qt Quick Application項目 (一)Qt Quick UI項目 Qt Quick UI項目中只包含QML和JavaScript代碼,沒有添加任何C++代碼,對于QML文件,無需編譯就可以直接在預(yù)覽工具中預(yù)覽效果;不僅如此,在沒有安裝開發(fā)環(huán)境的系統(tǒng)中也可以創(chuàng)建運行該類項目。
在選擇QT版本時對應(yīng)的哪些組建: Qt Quick Controls 1.1: 創(chuàng)建 Qt Quick 2 UI 項目, 要求Qt5.2及以上版本 Qt Quick Controls 1.0: 創(chuàng)建 Qt Quick 2 UI 項目, 要求Qt5.1及以上版本 Qt Quick 2.2:創(chuàng)建Qt Quick2 UI 項目, 要求Qt5.2及以上版本 Qt Quick 2.1:創(chuàng)建Qt Quick2 UI 項目, 要求Qt5.1及以上版本 Qt Quick 1.1:創(chuàng)建Qt Quick1 UI 項目, 要求Qt4.8及以上版本 用Qt Quick模塊的相應(yīng)組件時,會自動生成一個普通的主視圖界面。創(chuàng)建完畢可以使用QML Scene 直接預(yù)覽Qt Quick 2UI 項目,不需要進行構(gòu)建,也不需要在系統(tǒng)上搭建額外的開發(fā)環(huán)境。
創(chuàng)建成功后有兩個文件如下:
項目文件主要指定了項目中所用的qml文件、JavaScript文件和圖片文件所在的目錄(默認目錄為當(dāng)前目錄,即項目目錄)
在程序運行時并沒有編譯的過程,單獨的QML文件并不需要進行編譯,就能夠直接在qmlscene中進行預(yù)覽,在Qt Quick2 中,QML文件的預(yù)覽工具是QML Scene, 使用它可以在開發(fā)應(yīng)用時直接加載QML文件進行預(yù)覽和測試,也可以在“工具 -> 外部 -> Qt Quick”中運行工具
二、Qt Quick Application項目 在之前的QT開發(fā)中,傳統(tǒng)的開發(fā)qt應(yīng)用程序的項目的前端,以及數(shù)據(jù)邏輯的后端都是使用c++開發(fā)的,但是現(xiàn)在軟件開發(fā),對前端變化需求日益高漲,這與傳統(tǒng)相違背,所以為了前端的快速更迭,最好的方式將前后端分離,使用Qt Quick完成。 這種Qt Quick應(yīng)用程序可以同時包含QML 和C++代碼。程序中包含了一個QQuickView用于顯示前端,可以將Qt Quick應(yīng)用項目部署到桌面或者移動平臺;
項目文件介紹: 1、.pro:項目文件。這是普通的QT項目文件,指定程序使用的模塊、源文件、資源文件等 2、.pri :這是項目文件的補充,需要包含在項目文件中。類似include的頭文件,這個文件指出了編譯到不同平臺時的特殊設(shè)置。因為這些設(shè)置僅與項目的部署相關(guān),所以不需要全部添加到項目文件中,而單獨列出 3、main.cpp:其中包含了main()函數(shù),用于加載QML文件 4、.qrc:資源文件,所有的QML文件、圖片等都作為資源放在資源文件中。qml 文件也是資源文件的一部分
加載QML文件是在main.cpp中實現(xiàn)的如下:
#include <QGuiApplication> #include <QQmlApplicationEngine>
int main(int argc, char *argv[]) { QGuiApplication app(argc, argv);
QQmlApplicationEngine engine; engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec(); }
這里使用的QQmlApplicationEngine類來加載QML文件。這個類主要提供一個簡易的方式,將一個QML文件加載到正在運行的程序中。
總結(jié)
以上是生活随笔為你收集整理的QT Quick项目简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python学习 day5 (3月6日)
- 下一篇: NTC热敏电阻检测温度