Linux下在qtcreator中創建qt程序

目錄

1、新建項目

2、單工程項目創建?

3、多工程項目創建

?4、添加子工程(基于多工程目錄結構)

5、 .pro文件


1、新建項目

切換到“編輯”界面,點擊菜單欄中的“文件”-“新建文件或項目”

2、單工程項目創建?

只有一個工程的項目,新建模板時就只用在“項目”-“Application”中選,最右邊的一欄有該模板的解釋說明。按照需求創建對應的應用程序,在此我們創建一個最常用的帶UI的qt應用程序作為示范。

選擇“Qt Widget Application”,點擊“Choose”按鈕,進行創建。設置項目名稱與項目路徑,如圖所示。設置完成后,點擊“下一步”。

?因為我們使用了集成安裝包,QtCreator的環境都已經自動安裝好了,不用配置Kit,可以直接點擊下一步。如果在當前頁面“下一步”按鈕被禁用了,則代表需要配置Kit。詳細配置可以看該章節第四點。

配置類信息,設置類名與編譯文件等的名稱,點擊下一步。注:建議類名與頭文件、源文件、ui文件的名稱與大小寫保持一致。如圖所示。

項目建立完成。該界面可以查看即將生成的所有文件與路徑。因為是單工程項目,不需要配置“作為子項目添加到項目中”;“添加到版本控制系統”,如果有需要可以選擇。:.pro文件是qt的配置文件。

3、多工程項目創建

要創建一個多工程的項目,首先要建一個總的項目文件夾,作為根項目。

“文件”-“新建文件或項目”-“其他項目”-“子目錄項目”-“Choose”。可以看到右邊選中“子目錄項目”后,右邊的解釋。

設置項目路徑與總配置文件名稱。

?點擊下一步可以看到即將生成的目錄,該目錄只生成一個.pro,作為總配置文件。

?點擊“完成&添加子項目”,對子項目進行添加,步驟與創建單項目目錄步驟基本一致,唯一不同的是需要配置“匯總”-“作為子項目添加到項目中”,選擇剛才創建的根項目,點擊“完成”即可。

?創建成功后,目錄結構如圖所示。可以看到總項目目錄“MulPrj”下存在一個子項目目錄“Projrct_1”,“Project_1”下存在該項目的配置文件與.h/.cpp等文件。

第一個創建的工程應該為Application項目,可作為啟動項。

點擊運行程序顯示窗口。

?4、添加子工程(基于多工程目錄結構)

添加子工程有兩個方法。

  • 點擊多工程項目目錄結構的根項目,右鍵-“新子項目”,進行子項目的添加。

  • 點擊“文件”-“新建文件或項目”。

但是不論哪種方法,進入模板選擇界面后,都需要選擇“Library”-“C++庫”。

進入子項目的創建。

?勾選需要使用到的模塊,一般勾選圖中框起來的三個。

仍然讓項目名稱與.h/.cpp文件名稱保持一致。

“作為子項目添加到項目中”仍然選擇根項目,然后點擊“完成”。

?此時的目錄結構如下:

文件夾下的目錄結構如下:

5、 .pro文件

在多工程項目中存在多個.pro文件,大致可以分為三類:

  • 根項目.pro:例如MulPrj.pro,用來控制所有子項目。

在這里我們只關注“SUBDIRS”,是根項目的固定寫法,用來聲明工程目錄集的,需要添加或刪除工程都可以在這里進行,刪除對應的工程名稱保存后,qt自動刪除樹目錄結構下的對應工程。

注釋之后可以看到目錄結構下的工程都不見了。

也可以指定到目錄文件夾下的.pro,在.pro與工程文件家名稱不相同時使用。

  • ?啟動項.pro:例如Project_1.pro,作為啟動項,與子工程的配置有一些不同。
  • Lib子工程.pro:例如Project_2.pro,作為創建時以library作為模板創建的工程。
#-------------------------------------------------
#
#ProjectcreatedbyQtCreator2023-03-03T14:27:35
#
#-------------------------------------------------QT+=coregui#“QT”是使用的QT庫,從向導創建中可以看出,默認包含gui與core。如果不使用則生成的為QT-=coregui。這里是“+=”代表兩個都使用。greaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=Project_1  #生成.so目標,名稱不做修飾,不用添加.so,自動生成名稱.so。如:TARGET = Project_change  ,生成的.so為“Project_change.so”
DESTDIR= ../Bin#指定.so的生成路徑
TEMPLATE=app#固定寫法 主工程為app,子工程為lib#Thefollowingdefinemakesyourcompileremitwarningsifyouuse
#anyfeatureofQtwhichhasbeenmarkedasdeprecated(theexactwarnings
#dependonyourcompiler).Pleaseconsultthedocumentationofthe
#deprecatedAPIinordertoknowhowtoportyourcodeawayfromit.
DEFINES+=QT_DEPRECATED_WARNINGS  #預定義頭#YoucanalsomakeyourcodefailtocompileifyouusedeprecatedAPIs.
#Inordertodoso,uncommentthefollowingline.
#YoucanalsoselecttodisabledeprecatedAPIsonlyuptoacertainversionofQt.
#DEFINES+=QT_DISABLE_DEPRECATED_BEFORE=0x060000#disablesalltheAPIsdeprecatedbeforeQt6.0.0CONFIG+=c++11SOURCES+=\
main.cpp\
Project_1.cppHEADERS+=\
Project_1.hFORMS+=\
Project_1.ui#Defaultrulesfordeployment.
qnx:target.path=/tmp/$${TARGET}/bin
else:unix:!android:target.path=/opt/$${TARGET}/bin
!isEmpty(target.path):INSTALLS+=target

在pro中配置目標路徑后,在“項目”-“概要”中取消勾選“shadow build”,讓makefile默認生成在該項目.pro所在路徑。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36939.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36939.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36939.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Axure RP移動端高保真CRM辦公客戶管理系統原型模板及元件庫

Axure RP移動端高保真CRM辦公客戶管理系統原型模板及元件庫,一套典型的移動端辦公工具型APP Axure RP原型模板,可根據實際的產品需求進行擴展,也可以作為移動端原型設計的參考案例。為提升本作品參考價值,在模板設計過程中盡量追求…

chatGPT應用于房地產行業

作為 2023 年的房地產專業人士,您無疑認識到技術對行業的重大影響。近年來,一項技術進步席卷了世界——人工智能。人工智能徹底改變了房地產業務的各個方面,從簡化管理任務到增強客戶互動。 在本文中,我們將探討幾種巧妙的人工智…

HTML 語言簡介

1.概述 HTML 是網頁使用的語言,定義了網頁的結構和內容。瀏覽器訪問網站,其實就是從服務器下載 HTML 代碼,然后渲染出網頁。 HTML 的全名是“超文本標記語言”(HyperText Markup Language),上個世紀90年代…

zabbix自動注冊服務器以及部署代理服務器

文章目錄 Zabbix自動注冊服務器及部署代理服務器一.zabbix自動注冊1.什么是自動注冊2.環境準備3.zabbix客戶端配置4.在 Web 頁面配置自動注冊5.驗證自動注冊 二.部署 zabbix 代理服務器1.分布式監控的作用:2.環境部署3.代理服務器配置4.客戶端配置5.web頁面配置5.1 …

MS9940T 國產 模擬前端AFE芯片 11-15 節鋰電池或磷酸鹽電池管理芯片 替代BQ76940

產品簡述 MS9940T 是模擬前端 (AFE) 芯片,支持11 到 15 組電池串聯。通過 I 2 C ,主機控制器 可以使用 MS9940T 來實現電池組管理功能,例如監控(電池電壓、電池組電流、電池組 溫度)、保護(控制…

分類預測 | MATLAB實現GWO-BiLSTM-Attention多輸入分類預測

分類預測 | MATLAB實現GWO-BiLSTM-Attention多輸入分類預測 目錄 分類預測 | MATLAB實現GWO-BiLSTM-Attention多輸入分類預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 1.GWO-BiLSTM-Attention 數據分類預測程序 2.代碼說明:基于灰狼優化算法&#xff08…

vuejs 設計與實現 - 組件的實現原理

1.渲染組件 如果是組件則:vnode .type的值是一個對象。如下: const vnode {type: MyComponent,}為了讓渲染器能處理組件類型的虛擬節點,我們還需要在patch函數中對組件類型的虛擬節點進行處理,如下: function patc…

CentOS7.9 禁用22端口,使用其他端口替代

文章目錄 業務場景操作步驟修改sshd配置文件修改SELinux開放給ssh使用的端口修改防火墻,開放新端口重啟sshd生效 相關知識點介紹sshd服務SELinux服務firewall.service服務 業務場景 我們在某市實施交通信控平臺項目,我們申請了一臺服務器,用…

學習Vue:列表渲染(v-for)

在 Vue.js 中,實現動態列表的顯示是非常常見的需求。為了達到這個目的,Vue 提供了 v-for 指令,它允許您迭代一個數組或對象,將其元素渲染為列表。然而,在使用 v-for 時,key 屬性的設置也非常重要&#xff0…

微信小程序(原生)搜索功能實現

一、效果圖 二、代碼 wxml <van-searchvalue"{{ keyword }}"shape"round"background"#000"placeholder"請輸入關鍵詞"use-action-slotbind:change"onChange"bind:search"onSearch"bind:clear"onClear&q…

實踐-CNN卷積層

實踐-CNN卷積層 1 卷積層構造2 整體流程3 BatchNormalization效果4 參數對比5 測試效果 1 卷積層構造 2 整體流程 根據網絡結構來寫就可以了。 池化 拉平 訓練一個網絡需要2-3天的時間。用經典網絡來&#xff0c;一些細節沒有必要去扣。 損失函數&#xff1a; fit模型&…

運維監控學習筆記1

1、監控對象&#xff1a; 1、監控對象的理解&#xff1b;CPU是怎么工作的&#xff1b; 2、監控對象的指標&#xff1a;CPU使用率&#xff1b;上下文切換&#xff1b; 3、確定性能基準線&#xff1a;CPU負載多少才算高&#xff1b; 2、監控范圍&#xff1a; 1、硬件監控&#x…

線性掃描寄存器分配算法介紹

線性掃描寄存器分配 文章目錄 線性掃描寄存器分配1. 算法介紹2. 相關概念3. 算法的實現3.1 偽代碼3.2 圖示 參考文獻 論文地址&#xff1a; Linear Scan Register Allocation ? 我們描述了一種稱為線性掃描的快速全局寄存器分配的新算法。該算法不基于圖形著色&#xff0c;而…

echarts3d柱狀圖

//畫立方體三個面 const CubeLeft echarts.graphic.extendShape({shape: {x: 0,y: 0,width: 9.5, //柱狀圖寬zWidth: 4, //陰影折角寬zHeight: 3, //陰影折角高},buildPath: function (ctx, shape) {const api shape.api;const xAxisPoint api.coord([shape.xValue, 0]);con…

陪診小程序開發|陪診陪護小程序讓看病不再難

陪診小程序通過與醫療機構的合作&#xff0c;整合了醫療資源&#xff0c;讓用戶能夠更加方便地獲得專業醫療服務。用戶不再需要面對繁瑣的掛號排隊&#xff0c;只需通過小程序預約服務&#xff0c;便能夠享受到合適的醫療資源。這使得用戶的就醫過程變得簡單高效&#xff0c;并…

Redis使用規范及優化

緩存設計 緩存方案 普通緩存 查詢數據時&#xff0c;先查找緩存&#xff0c;如果有延長緩存時間并返回。如果沒有&#xff0c;再去查找數據庫&#xff0c;將查詢的數據再寫到緩存&#xff0c;同時設置過期時間。如果是靜態熱點數據&#xff0c;可以不設置緩存失效時間。 冷…

IntelliJ最佳插件

基于 IntelliJ 平臺的 JetBrains IDE 可能是當今最常見的 IDE 之一。它們的受歡迎程度在 JVM 語言社區中尤其明顯&#xff0c;IntelliJ IDEA 仍然是大多數開發人員的首選 IDE。所有這一切都是在一些新競爭對手的出現和老競爭對手克服以前的缺點并重新加入競爭者的情況下實現的。…

【EI/SCOPUS檢索】第三屆計算機視覺、應用與算法國際學術會議(CVAA 2023)

第三屆計算機視覺、應用與算法國際學術會議&#xff08;CVAA 2023) The 3rd International Conference on Computer Vision, Application and Algorithm 2023年第三屆計算機視覺、應用與算法國際學術會議&#xff08;CVAA 2023&#xff09;主要圍繞計算機視覺、計算機應用、計…

PPT顏色又丑又亂怎么辦?

一、設計一套PPT時&#xff0c;可以從這5個方面進行設計 二、PPT顏色 &#xff08;一&#xff09;、PPT常用顏色分類 一個ppt需要主色、輔助色、字體色、背景色即可。 &#xff08;二&#xff09;、搭建PPT色彩系統 設計ppt時&#xff0c;根據如下幾個步驟&#xff0c;依次選…

Arduino驅動紅外二氧化碳傳感器(氣體傳感器篇)

目錄 1、傳感器特性 2、驅動程序 紅外激光傳感器是將成熟的紅外吸收氣體檢測技術與精密光路設計、精良電路設計緊密結合而制作出的高性能傳感器,具有高靈敏度、高分辨率、低功耗,響應快、抗水汽干擾、不中毒、穩定性高、使用壽命長等特點。本篇博文使用Arduino驅動紅外二氧…