在實際QML使用中,可能會存在多人協(xié)同開發(fā)或者C++與QML混合開發(fā)的使用場景,這時候可能會使用不同的軟件,多數(shù)情況下是Qt Creator和Qt Design Studio兩款軟件協(xié)同使用。(畢竟很多時候做出一個漂亮的軟件外觀比實現(xiàn)軟件的功能要繁雜一些)
注:從Qt Design Studio 2.3.0開始,Qt Design Studio項目向?qū)0迳傻捻椖靠梢杂?code style="font-size:14px;padding:2px 4px;margin-right:2px;margin-left:2px;background-color:rgba(27,31,35,.05);font-family:'Operator Mono', Consolas, Monaco, Menlo, monospace;color:rgb(239,112,96);">CMake構(gòu)建。意味著可以在Qt Creator中打開CMakeLists.txt項目文件,繼續(xù)開發(fā)項目。
所以,如果熟悉CMake構(gòu)建系統(tǒng),QtCreator和Qt Design Studio之間轉(zhuǎn)換就非常方便。本文假設(shè)使用qmake
作為構(gòu)建系統(tǒng),下文將描述如何將Qt Design Studio工程轉(zhuǎn)換為Qt Creator工程。
在Qt Design Studio創(chuàng)建用戶界面非常方便。如果想要在Qt Creator中使用Qt Design Studio的工程進(jìn)行應(yīng)用程序開發(fā),則需要添加四個文件:
(1)工程配置文件(CMakeLists.txt
或者.pro
)
(2)C++程序文件(.cpp)
(3)資源文件
(4)將應(yīng)用程序部署到設(shè)備所需的代碼
首先,我們使用Qt Creator向?qū)0鍋韯?chuàng)建使用qmake構(gòu)建系統(tǒng)構(gòu)建的Qt Quick應(yīng)用程序,然后將源文件從Qt Design Studio項目路徑復(fù)制到應(yīng)用程序項目中。
使用項目配置文件中(.pro)的RESOURCES
選項,自動將所有QML文件和相關(guān)資產(chǎn)添加到Qt資源集合文件(.qrc)中。注意:大文件應(yīng)作為外部二進(jìn)制資源包含,不要將它們編譯進(jìn)二進(jìn)制文件中。
創(chuàng)建向?qū)詣訉?code style="font-size:14px;padding:2px 4px;margin-right:2px;margin-left:2px;background-color:rgba(27,31,35,.05);font-family:'Operator Mono', Consolas, Monaco, Menlo, monospace;color:rgb(239,112,96);">QML_IMPORT_PATH選項添加到項目配置文件中,用于指定QML的導(dǎo)入路徑。只有在多個子目錄中包含QML文件時,才需要指定該路徑。
然后,我們可以使用C++源文件中的QQuickView
類在應(yīng)用程序啟動時顯示主QML文件。
Qt Quick Studio Components模塊在安裝Qt Design Studio時會自動安裝。如果我們想在Qt Creator中編輯項目中的模塊使用Qt Quick Studio Components或Effects,必須構(gòu)建該模塊并將其安裝到Qt中才能構(gòu)建項目。
轉(zhuǎn)換過程演示
本小節(jié)描述如何將具有.qmlproject文件的項目轉(zhuǎn)換為.pro項目的示例。轉(zhuǎn)換步驟如下:
(1)運(yùn)行啟動QtCreator
軟件。依次選擇 File->New Project->Application(Qt)->Qt Quick Application->Choose:
![a45d3628-37b0-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/93/wKgZomTnIZGAM3sAAAB17MRKwQk811.png)
(2)在Build System選擇中,選擇qmake作為構(gòu)建和運(yùn)行項目的構(gòu)建系統(tǒng),然后選擇Next:
![a47ed670-37b0-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/93/wKgZomTnIZGAUjweAABkftB9RuA167.png)
(3)按照創(chuàng)建向?qū)У闹甘就瓿身椖康膭?chuàng)建。
(4)在Qt Design Studio中,依次點擊『File』->『Generate QRC Resource File』選項生成資源文件。
![a49e9e42-37b0-11ed-ba43-dac502259ad0.png](https://file1.elecfans.com//web2/M00/96/93/wKgZomTnIZGAXLtXAAC9116uyKo304.png)
(5)在文件資源管理器中,將Qt Design Studio項目目錄中的所有文件復(fù)制到Qt Creator應(yīng)用程序項目目錄中的一個子目錄中(將該目錄命名為qml,需要提前創(chuàng)建)。
(6)打開應(yīng)用程序項目文件(.pro),并編輯RESOURCES
選項的值,添加如下文本:
RESOURCES+=
$$files(qml/*)
(7)在(.pro)文件中編輯QML_IMPORT_PATH
選項值,用于指定QML導(dǎo)入路徑:
QML_IMPORT_PATH=qml/imports
(8)選擇Build-> Run qmake將RESOURCES選項應(yīng)用于構(gòu)建配置
(9)打開main.cpp文件將QQmlApplicationEngine對象(一般使用QtCreaotr創(chuàng)建的工程,其默認(rèn)在main()
函數(shù)中使用的是QQmlApplicationEngine
)替換為QQuickView對象(如果是在qml中使用Window等視圖類型作為根目錄包含的qml文件,則不用替換):
QQuickViewview;
view.engine()->addImportPath("qrc:/qml/imports");
view.setSource(QUrl("qrc:/qml/ProgressBar.ui.qml"));
if(!view.errors().isEmpty())
return-1;
view.show();
(注:上述代碼為一個示例)
通過以上步驟,則完成Qt Design Studio向QtCreator工程的轉(zhuǎn)換。通過該種方式,我們可以使用QtCreator做開發(fā),Qt Design Studio做設(shè)計了。(新工程,文件資源的引入路徑可能會被修改,將他們改成正確的引入路徑即可)
-
C++
+關(guān)注
關(guān)注
22文章
2114瀏覽量
73873 -
Studio
+關(guān)注
關(guān)注
2文章
191瀏覽量
28849 -
QTcreator
+關(guān)注
關(guān)注
0文章
11瀏覽量
6870
原文標(biāo)題:如何將UI項目轉(zhuǎn)換為QtCreator應(yīng)用項目
文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
編寫第一個QT程序
Linux系統(tǒng)中搭建Qt Creator開發(fā)環(huán)境
用qt creator編譯QT5應(yīng)用
Qt Creator的詳細(xì)資料簡介
![<b class='flag-5'>Qt</b> <b class='flag-5'>Creator</b>的詳細(xì)資料簡介](https://file.elecfans.com/web1/M00/B1/D8/o4YBAF4EdimAGlOxAABUv20_4rM137.png)
Qt Creator快速入門教程之Qt對象模型與容器類的詳細(xì)資料說明
![<b class='flag-5'>Qt</b> <b class='flag-5'>Creator</b>快速入門教程之<b class='flag-5'>Qt</b>對象模型與容器類的詳細(xì)資料說明](https://file.elecfans.com/web1/M00/B2/76/pIYBAF4KuyWALKX4AAE3fXfN1qg736.png)
Qt Designer、Qt Quick Designer和Qt Creator應(yīng)用程序有什么區(qū)別?
如何在Qt Design Studio中創(chuàng)建連接和狀態(tài)
在Qt Design Studio工具下創(chuàng)建設(shè)計工程
TI AM5728 Qt工程編譯、GPU核心使用說明
Qt上位機(jī)開發(fā)實戰(zhàn)案例
![<b class='flag-5'>Qt</b>上位機(jī)開發(fā)實戰(zhàn)案例](https://file1.elecfans.com/web2/M00/C5/0A/wKgaomXxLHqAKhv-AAAVhafIeck465.png)
評論