在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Qt新工程創(chuàng)建向?qū)О挡匦C(jī)

嵌入式小生 ? 來源:嵌入式小生 ? 2023-01-30 09:55 ? 次閱讀

一、導(dǎo)讀

在使用Qt進(jìn)行項(xiàng)目開發(fā)過程中,QtCreator是一款流行多年的必備開發(fā)利器,本文基于QtCreator這款I(lǐng)DE,描述其『新文件和新工程』創(chuàng)建向?qū)е懈鬟x項(xiàng)的含義,還簡要分析使用QtCreator內(nèi)部自帶模板創(chuàng)建出基礎(chǔ)工程。

本文內(nèi)容基于QtCreator版本:8.0.1:

836f04d4-964a-11ed-bfe3-dac502259ad0.png

對(duì)于一個(gè)全新的Qt項(xiàng)目,在項(xiàng)目開發(fā)實(shí)施之前需要考慮項(xiàng)目的開發(fā)方式,其中就包含了編程語言的選擇,Qt主要提供了三種方式去開發(fā)自己的項(xiàng)目:

(1)C++開發(fā)方式

(2)QtQuick qml開發(fā)方式

(3)python開發(fā)方式

上述三種方式從計(jì)算機(jī)編程語言去考量。忽略Qt-android平臺(tái)下的開發(fā)。

二、淺談開發(fā)方式

(2-1)C++開發(fā)方式

如果項(xiàng)目選擇了C++作為開發(fā)中所使用的編程語言,在使用QtCreator創(chuàng)建項(xiàng)目時(shí),則選擇『Application(Qt)->Qt Widgets Application/Qt Console Application』:

83d4cecc-964a-11ed-bfe3-dac502259ad0.png

Qt Widgets Application :如果選擇了該選項(xiàng),則創(chuàng)建一個(gè)包含主窗口且基于Widget的Qt應(yīng)用程序。也就是說,如果是一個(gè)需要包含窗體且使用C++作為開發(fā)方式的項(xiàng)目,就選擇該選項(xiàng)。

Qt Console Application :如果選擇了該選擇,則創(chuàng)建一個(gè)控制臺(tái)運(yùn)行的Qt應(yīng)用程序,也就是不帶任何界面的Qt項(xiàng)目。

Widgets Application和Console Application從源碼上分別以QApplication和QCoreApplication類表示。

(2-2)QtQuick qml開發(fā)方式

QtQuick是Qt提供的一種炫酷界面快速開發(fā)的方式,qml是主要的開發(fā)語言,如果項(xiàng)目想以QtQuick進(jìn)行開發(fā),則選擇『Application(Qt)->Qt Quick Application』:83ee3cea-964a-11ed-bfe3-dac502259ad0.png

以這個(gè)選項(xiàng)按照工程向?qū)?chuàng)建的項(xiàng)目,會(huì)自動(dòng)生成一個(gè)main.cpp文件和一個(gè)main.qml文件。

在main.cpp文件中創(chuàng)建了QGuiApplication對(duì)象和QQmlApplicationEngine引擎,并指定了引擎需要解析的qml文件,這里是main.qml。在main.qml文件中,則描述了一個(gè)極簡單的窗體。

(2-3)python開發(fā)方式

如果項(xiàng)目選擇了python作為開發(fā)中所使用得編程語言,在使用QtCreator創(chuàng)建項(xiàng)目時(shí),則選擇『Application(Qt for Python)』:

84163f24-964a-11ed-bfe3-dac502259ad0.png

Empty Application:該選項(xiàng)創(chuàng)建一個(gè)空的項(xiàng)目工程,使用python方式創(chuàng)建了QApplication。QtCerator內(nèi)部模板生成的代碼中不包含窗體描述部分。

Empty Windows :該選項(xiàng)會(huì)創(chuàng)建一個(gè)空的窗體應(yīng)用程序,包含了一個(gè)窗體。

Window UI - Dynamic load :該選項(xiàng)創(chuàng)建一個(gè)帶xxx.ui文件的工程,可以使用Qt Designer設(shè)計(jì)。(這種方式是以動(dòng)態(tài)方式加載xxx.ui文件,源碼上使用QUiLoader()實(shí)現(xiàn))

Window UI :該選項(xiàng)與Window UI - Dynamic load功能類似,都會(huì)創(chuàng)建一個(gè)xxx.ui文件。與widget + C++開發(fā)中的ui文件一樣,會(huì)將xxx.ui文件轉(zhuǎn)換生成對(duì)應(yīng)的界面類,只是這里是基于python語言的。

Qt Quick Application - Empty :該選項(xiàng)用于創(chuàng)建使用QtQuick qml + python開發(fā)的項(xiàng)目工程,QtCreator內(nèi)部項(xiàng)目模塊會(huì)創(chuàng)建一個(gè)工程描述文件xxx.pyproject、應(yīng)用解析文件main.py和`應(yīng)用描述文件main.qml。

三、新工程創(chuàng)建向?qū)碌腖ibrary

在上述第二小節(jié)描述了使用QtCreator創(chuàng)建基于Qt新項(xiàng)目的三種開發(fā)方式,本小節(jié)描述『新工程創(chuàng)建向?qū)А幌碌腖ibrary選項(xiàng)。

如果想創(chuàng)建一個(gè)生成庫的工程,則選擇『Library』:

843ebd50-964a-11ed-bfe3-dac502259ad0.png

C++ Library :該選項(xiàng)用于創(chuàng)建一個(gè)生成庫文件的工程,在編譯構(gòu)建成功后,會(huì)生成一個(gè)庫文件(不同平臺(tái)下生成的庫文件不一樣),這個(gè)庫文件可以使用QPluginLoader加載或者Qt 應(yīng)用程序在運(yùn)行時(shí)加載使用,除此之外,生成的動(dòng)態(tài)/靜態(tài)庫文件也用于其他工程項(xiàng)目在鏈接階段使用。

Qt Quick 2 Extension Plugin :該選項(xiàng)會(huì)創(chuàng)建一個(gè)C++插件,使用QQmlEngine類可以將Qt Quick擴(kuò)展動(dòng)態(tài)加載到應(yīng)用程序中。也就是說,該選項(xiàng)會(huì)創(chuàng)建一個(gè)C++插件,這個(gè)插件是使用C++語言編寫的,我們可以在QtQuick qml項(xiàng)目工程中加載這個(gè)插件來使用。

Qt Creator Plugin :該選項(xiàng)用于創(chuàng)建一個(gè)能生成QtCreator插件的工程,在實(shí)際Qt開發(fā)中在選項(xiàng)使用較少。

四、其他項(xiàng)目

在QtCreator的『新工程創(chuàng)建向?qū)А幌拢幸粋€(gè)其他項(xiàng)目選項(xiàng):

8450aed4-964a-11ed-bfe3-dac502259ad0.png

我們可以使用該選項(xiàng)下的條目去創(chuàng)建實(shí)際項(xiàng)目開發(fā)過程中所需要的輔助項(xiàng)。

設(shè)計(jì)師自定義控制:該選項(xiàng)用于創(chuàng)建一個(gè)Qt Designer的自定義控件或者一個(gè)自定義控件集合。對(duì)于實(shí)際工程項(xiàng)目開發(fā)中所使用的UI控制,如果想把它做成自定義控件直接在Qt Designer中拖拽使用,則使用該選項(xiàng)。

Qt Quick UI Prototype :該選項(xiàng)用于創(chuàng)建帶有QML入口點(diǎn)的Qt Quick 2 UI項(xiàng)目。我們則可以在帶有QML運(yùn)行時(shí)的情況下加載使用。也就是,該選項(xiàng)下僅僅會(huì)創(chuàng)建一個(gè)qml文件。(該選項(xiàng)創(chuàng)建的不是一個(gè)完整的Qt Quick 項(xiàng)目,如果想要一個(gè)完整的Qt Quick項(xiàng)目工程,則使用『Application(Qt)->Qt Quick Application』)

Auto Test Project :該選項(xiàng)用于創(chuàng)建一個(gè)新的單元測試項(xiàng)目,允許我們驗(yàn)證代碼是否適合使用。該選項(xiàng)本質(zhì)上則會(huì)創(chuàng)建一個(gè)基于QtTest的測試工程代碼模板。

子目錄項(xiàng)目 :該選項(xiàng)用于創(chuàng)建一個(gè)包含多個(gè)子項(xiàng)目的項(xiàng)目工程。如果一個(gè)項(xiàng)目中包含有多個(gè)子項(xiàng)目需要生成,例如,一個(gè)工程里面既要生成exe,又要生成dll庫文件,則選擇該選項(xiàng),實(shí)現(xiàn)多個(gè)子項(xiàng)目的嵌套。(這個(gè)選項(xiàng)在實(shí)際開發(fā)中較為常用)

Empty qmake Project :該選項(xiàng)用于創(chuàng)建一個(gè)基于qmake的空項(xiàng)目,這允許創(chuàng)建一個(gè)沒有任何默認(rèn)類的應(yīng)用程序。也就是該選項(xiàng)是最原始的狀態(tài),只會(huì)創(chuàng)建一個(gè)沒有任何內(nèi)容的xxx.pro工程管理文件。

Code Snippet :該選項(xiàng)用于創(chuàng)建一個(gè)基于qmake的測試項(xiàng)目,可以為其預(yù)先輸入代碼片段。也就是我們可以在工程創(chuàng)建向?qū)е袑懭胛覀冏约旱拇a片段。

五、其他工程項(xiàng)目

還可以使用QtCreator的『新工程創(chuàng)建向?qū)А粍?chuàng)建不是Qt項(xiàng)目的工程:

84720c00-964a-11ed-bfe3-dac502259ad0.png

Plain C Application :該選項(xiàng)用于創(chuàng)建一個(gè)C語言簡單的工程:包含一個(gè)main.c文件,文件中生成的代碼僅包含了main()函數(shù)入口。

Plain C++ Application : 該選項(xiàng)用于創(chuàng)建一個(gè)C++語言簡單的工程:包含一個(gè)main.cpp文件,文件中生成的代碼僅包含了main()函數(shù)入口。

也就是說,使用QtCreator也能創(chuàng)建C/C++項(xiàng)目文件,只是需要注意編譯構(gòu)建環(huán)境的配置和選擇。

六、Import Project選項(xiàng)

我們可以使用QtCreator導(dǎo)入由版本控制軟件管控的項(xiàng)目工程或者存在本地磁盤上的工程:

8497a398-964a-11ed-bfe3-dac502259ad0.png

Bazaar Clone(or Branch):Bazaar是一個(gè)分布式的版本控制系統(tǒng)。該選項(xiàng)用于想要使用Bazaar去Clone項(xiàng)目的場景。

Git Clone:Git同樣也是一個(gè)開源的分布式版本控制系統(tǒng)。該選項(xiàng)用于想要使用git去Clone項(xiàng)目的場景。(在實(shí)際項(xiàng)目開發(fā)實(shí)施過程中,這種方式較為常用)

Mercurial Clone:Mercurial是一種使用Python語言實(shí)現(xiàn)的輕量級(jí)分布式版本控制系統(tǒng)。該選項(xiàng)用于想要使用Mercurial去Clone項(xiàng)目的場景。

Subversion Checkout:Subversion是一種集中式的版本控制系統(tǒng)(簡稱為SVN)。該選項(xiàng)用于想要使用SVN去Clone項(xiàng)目的場景。(在實(shí)際項(xiàng)目開發(fā)實(shí)施過程中,這種方式也較為常用)

CVS Checkout:CVS是一個(gè)C/S系統(tǒng),是一個(gè)常用的代碼版本控制軟件。該選項(xiàng)用于想要使用CVS去Clone項(xiàng)目的場景。

Import as qmake or CMake Project :導(dǎo)入不使用qmake、CMake、Qbs、Meson或Autotools的現(xiàn)有項(xiàng)目。該選項(xiàng)將創(chuàng)建一個(gè)項(xiàng)目文件,允許我們使用Qt Creator作為代碼編輯器,并作為調(diào)試和分析工具的啟動(dòng)器。

導(dǎo)入現(xiàn)有項(xiàng)目:該選項(xiàng)將創(chuàng)建一個(gè)項(xiàng)目文件,允許我們使用Qt Creator作為代碼編輯器,并導(dǎo)入不使用qmake、CMake、Qbs、Meson或Autotools的現(xiàn)有本地項(xiàng)目。也就是說可以使用Qt Creator作為代碼編輯器去編輯現(xiàn)有的項(xiàng)目中文件。

七、總結(jié)

本文主要描述QtCreaotr的『新工程創(chuàng)建向?qū)А幌碌囊恍┻x項(xiàng)。在實(shí)際Qt項(xiàng)目開發(fā)過程中,Application(Qt)選項(xiàng)是最常用的。

實(shí)際Qt項(xiàng)目開發(fā)中,最重要的是規(guī)劃項(xiàng)目文件和程序設(shè)計(jì)、編寫、調(diào)試。QtCreator的『新工程創(chuàng)建向?qū)А粸殚_發(fā)工作提供了許多的快捷方式,且自動(dòng)生成了一些最基本的代碼,以加快開發(fā)效率。

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • IDE
    IDE
    +關(guān)注

    關(guān)注

    0

    文章

    338

    瀏覽量

    46797
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1949

    瀏覽量

    34850
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2113

    瀏覽量

    73742
  • Qt
    Qt
    +關(guān)注

    關(guān)注

    1

    文章

    308

    瀏覽量

    37989
  • QTcreator
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    6847

原文標(biāo)題:哇哦,Qt新工程創(chuàng)建向?qū)О挡匦C(jī)...

文章出處:【微信號(hào):嵌入式小生,微信公眾號(hào):嵌入式小生】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    全球PLD行業(yè)暗藏玄機(jī),最終誰能浴火重生?

     電子發(fā)燒友網(wǎng)訊:全球PLD市場競爭玄機(jī)暗藏。PLD廠商欲圖搶占未來PLD市場份額這塊大蛋糕。Xilinx和Altera兩大巨頭的“明爭暗斗”可曾停止過?Lattice在兩座大山的強(qiáng)勢壓力下,是否有其
    發(fā)表于 12-29 10:28 ?4615次閱讀

    廢電池“暗藏玄機(jī)”栗廣普變廢為寶

    廢電池“暗藏玄機(jī)”栗廣普變廢為寶      在延邊供電公司有一位心靈手巧的能工巧匠,他善思考、勤動(dòng)手,常常把別人視為破銅爛鐵的廢
    發(fā)表于 02-27 08:45 ?1614次閱讀

    Qt宣布新工具包 Qt for MCU支持單片機(jī)

    轉(zhuǎn)載至IT之家:https://www.ithome.com/0/441/346.htmQt 公司已經(jīng)宣布了它的新工具包:Qt for MCU。Qt for MCU將能夠在沒有操作系統(tǒng)的設(shè)備上運(yùn)行
    發(fā)表于 07-01 10:16

    單片機(jī)之創(chuàng)建新工程簡析

    松翰單片機(jī)之創(chuàng)建新工程
    發(fā)表于 01-05 07:29

    紅米Note 4X對(duì)比紅米Note 4:不止是換芯版 細(xì)微之處暗藏玄機(jī)

    在換上驍龍625芯片后,紅米Note 4X憑借千元有找的價(jià)格優(yōu)勢吸引了不少消費(fèi)者的關(guān)注。但我們也注意到紅米Note 4X并不僅是Note 4換芯版,在細(xì)微之處卻暗藏玄機(jī)
    發(fā)表于 03-20 17:03 ?3w次閱讀

    怎么在AVR Studio5創(chuàng)建一個(gè)新工程

    怎么在AVR Studio5創(chuàng)建一個(gè)新工程
    的頭像 發(fā)表于 07-04 09:51 ?3585次閱讀

    美容儀界暗藏玄機(jī),宙斯美容儀不一定是最劃算的

    肌膚保養(yǎng),更加輕松與方便。中國女明星張雨綺在開通不久的美妝賬號(hào)上就特別推薦了一款美容儀:價(jià)值將近一萬的宙斯美容儀!這款美容儀界的愛馬仕對(duì)于我們普通消費(fèi)者來說劃算嗎?美容儀界也暗藏玄機(jī),選擇最適合的自己的才是最好的。 日
    發(fā)表于 04-01 20:25 ?3018次閱讀

    對(duì)講機(jī)具備哪些“高級(jí)”應(yīng)用,有哪些使用技巧

    小小的對(duì)講機(jī)看似簡單,實(shí)則暗藏玄機(jī),處處都有講究。今天和你分享這些“高級(jí)”使用技巧,你都知道嗎?
    發(fā)表于 10-10 10:47 ?997次閱讀

    TMS320F28377新工程創(chuàng)建與基礎(chǔ)工程配置教程說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是TMS320F28377新工程創(chuàng)建與基礎(chǔ)工程配置教程說明。
    發(fā)表于 10-19 08:00 ?27次下載
    TMS320F28377<b class='flag-5'>新工程</b>的<b class='flag-5'>創(chuàng)建</b>與基礎(chǔ)<b class='flag-5'>工程</b>配置教程說明

    如何在vivado創(chuàng)建新工程上使用IP集成器創(chuàng)建塊設(shè)計(jì)

    本文介紹如何在 vivado 開發(fā)教程(一) 創(chuàng)建新工程 的基礎(chǔ)上, 使用IP集成器, 創(chuàng)建塊設(shè)計(jì)。
    的頭像 發(fā)表于 02-08 10:47 ?2491次閱讀
    如何在vivado<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>新工程</b>上使用IP集成器<b class='flag-5'>創(chuàng)建</b>塊設(shè)計(jì)

    Qt宣布新工具包 Qt for MCU,支持單片機(jī)

    轉(zhuǎn)載至IT之家:https://www.ithome.com/0/441/346.htmQt 公司已經(jīng)宣布了它的新工具包:Qt for MCU。Qt for MCU將能夠在沒有操作系統(tǒng)的設(shè)備上運(yùn)行
    發(fā)表于 10-25 17:51 ?11次下載
    <b class='flag-5'>Qt</b>宣布<b class='flag-5'>新工</b>具包 <b class='flag-5'>Qt</b> for MCU,支持單片機(jī)

    STP和SFTP網(wǎng)線暗藏什么玄機(jī)秘密-科蘭

    我們在購買網(wǎng)線的時(shí)候可以看到會(huì)印有STP和SFTP之類的字母,那這些字母有什么含義呢,STP和SFTP網(wǎng)線暗藏什么玄機(jī)秘密,下面就和科蘭通訊小編一起來看看吧! STP和SFTP網(wǎng)線暗藏什么玄機(jī)
    發(fā)表于 11-15 10:37 ?1659次閱讀

    話聊QtCreator的新文件創(chuàng)建向?qū)?/b>

    當(dāng)使用QtCreator的『新工程創(chuàng)建向?qū)?/b>』創(chuàng)建好一個(gè)最基本的項(xiàng)目工程后,我們則需要往項(xiàng)目工程
    的頭像 發(fā)表于 01-29 15:06 ?921次閱讀

    如何在Automation Builder中創(chuàng)建一個(gè)新工程

    本節(jié)主要介紹如何在Automation Builder中創(chuàng)建一個(gè)新工程創(chuàng)建工程項(xiàng)目樹的基本結(jié)構(gòu),以及如何跟PLC建立連接等。 2_具體操作介紹 1.新建
    發(fā)表于 03-08 15:44 ?1591次閱讀
    如何在Automation Builder中<b class='flag-5'>創(chuàng)建</b>一個(gè)<b class='flag-5'>新工程</b>

    中文編程鴻蒙Hi3861開發(fā)基礎(chǔ)案例之-01創(chuàng)建新工程

    中文編程鴻蒙Hi3861開發(fā)創(chuàng)建新工程
    的頭像 發(fā)表于 05-11 09:53 ?2832次閱讀
    中文編程鴻蒙Hi3861開發(fā)基礎(chǔ)案例之-01<b class='flag-5'>創(chuàng)建</b><b class='flag-5'>新工程</b>
    主站蜘蛛池模板: 在线观看www妖精免费福利视频| 69国产| 国产精品福利一区二区亚瑟| 欧美黑粗特黄午夜大片| 欧美黄色影院| 澳门久久| 黄视频国产| 免费观看做网站爱| 女色专区| 六月婷婷综合| 国产三级高清| 在线最新版www资源网| 天天视频国产免费入口| 手机看片福利| www.夜| 亚洲视频1| 亚洲综合色就色手机在线观看| 婷婷六月久久综合丁香一二| 日本国产高清色www视频在线| 久久影院朴妮唛| 91极品反差婊在线观看| 日本夜夜操| 欧美人与zoxxxx另类| 国产一区二区三区夜色| 网络色综合久久| 美女网站在线观看视频18| 国产成人经典三级在线观看| 午夜免费在线观看| 国产小视频在线看| 亚洲天堂二区| 特级做a爰片毛片免费看| 美女视频黄免费| 亚洲理论在线观看| 91一级片| 正在播放国产巨作| 欧美一区二区三区在线观看免费| 国产一区二区三区不卡观| 天天射天天怕| 激情六月丁香| 亚洲美女激情视频| 免费大片黄在线观看日本|