首页
/
每日頭條
/
科技
/
qt創建python項目
qt創建python項目
更新时间:2024-10-21 19:20:39

開發QT程序的時候,通常使用集成工具為QtCreator, 但是随着工程越來越大,添加的文件越來越多,如果想要重新調整目錄結構,那就會很麻煩,特别是包含的頭文件中有相對的目錄。

為了解決Qt工程調整目錄難的文件,本文利用QtCreator支持調用python的功能來解決該問題, 接下來就來詳細說明解決問題的過程。

實現思路

使用過QtCreator工具的人,應該都會知道它使用的構建檔文件的後綴名為pro, 所以,本文将介紹如何編寫python文件來添加相關編譯信息到pro文件,而python文件的主要功能則是檢測工程目錄的文件,并将相關文件添加到pro文件中,最後再将python文件的運行命令集成到QtCreator工具。

python文件生成pro的流程如下圖所示,首先獲取pro文件路徑,先讀取pro文件中的固定配置信息,然後讀取所有依賴的文件路徑、頭文件、源文件和ui文件,最後将其重新添加到pro文件。

qt創建python項目(利用python自動生成qt工程文件)1

實現細節

實現獲取pro文件路徑的功能函數,其pro文件路徑是由外部參數傳遞過來,其獲取的方法為sys.argv[1]。

qt創建python項目(利用python自動生成qt工程文件)2

讀取pro文件中固定的配置數據,從pro文件的開頭開始讀起,當檢測到指定的字符串數據,則停止讀取,并返回獲取的配置數據。

qt創建python項目(利用python自動生成qt工程文件)3

查找依賴的文件路徑,一共支持三個參數,第一個參數rootdir,表示根目錄,即工程項目的頂層目錄,第二個參數proDir,表示pro文件所在目錄,第三個參數fileList是存儲獲取到的文件路徑列表。注意,rootdir參數當作是proDir即可,這裡做了區分,主要是考慮到根目錄與pro文件的目錄不在同一個目錄下而做了預留擴展。

qt創建python項目(利用python自動生成qt工程文件)4

查找文件路徑,一共支持四個參數,第一個和第二個參數與上面含義一樣,這裡不再說明,第三個參數fileList存儲查找到的文件列表,第四個參數fileFilter則指定查找的文件類型。

qt創建python項目(利用python自動生成qt工程文件)5

保存信息到文件,支持四個參數,第一個參數file是文件句柄,第二個參數tag代表關鍵字,第三個參數lines則是tag對應的值,第四個參數comment表示注釋,默認為空。

qt創建python項目(利用python自動生成qt工程文件)6

實現三個過濾文件類型的的函數,分别為ui文件、頭文件、源文件

qt創建python項目(利用python自動生成qt工程文件)7

最後組合上面所有的基本函數,創建python文件的主流程。

qt創建python項目(利用python自動生成qt工程文件)8

集成工具

現在将上面創建的python文件updatePro.py集成到QtCreator中。

首先點擊QtCreator的工具欄中的“工具”,然後依次選擇外部-> Configure。

qt創建python項目(利用python自動生成qt工程文件)9

彈出的對話框中,點擊左側導航欄的“環境”,再點擊右側窗口中的“外部工具”,然後在該界面下,點擊“添加工具”

qt創建python項目(利用python自動生成qt工程文件)10

接着按照下圖紅色箭頭指向的編輯框進行操作,注意執行檔則對應本機python的程序的路徑,如果沒有安裝python3,那麼需要先安裝python3。

qt創建python項目(利用python自動生成qt工程文件)11

使用方法

完成上面所有的步驟之後,下來就來說明使用方法。

首先pro文件中添加下圖紅色方框的信息。

qt創建python項目(利用python自動生成qt工程文件)12

然後點擊工具欄中的“工具”->”外部”, 再點擊updatePro。

qt創建python項目(利用python自動生成qt工程文件)13

最後自動生成的pro文件的格式内容如下圖所示,QMAKE_INCDIR表示依賴的文件路徑,FORMS表示ui文件,HEADERS表示文件列表,SOURCES表示源文件。

qt創建python項目(利用python自動生成qt工程文件)14

概括總結

本文詳細說明了利用python自動生成qt工程文件的過程,當移動文件,更改工程目錄,那麼隻要重新執行python文件即可,但是該python文件還有很多待改進的地方,另外還需要考慮更多的場景,這些都有待于後續進一步優化,而文章主要提供解決問題的一種思路。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
星界邊境前期怎麼刷像素
星界邊境前期怎麼刷像素
星界邊境這款遊戲正式上市已經半年多了,相信不少玩家都總結出很多有用的攻略,今日小編也為大家做了一個生存流程詳細圖文攻略,希望能幫助新手玩家順利暢玩!先創建個角色,之前玩的人類和一個MOD種族為了做攻略MOD我已經删了,這次為了飛船美觀性創建...
2024-10-21
杭州網站設計教程哪家好
杭州網站設計教程哪家好
杭州網站設計教程哪家好?杭州網站設計在服務品牌網站設計的時候,都會幫助企業對産品進行品牌定位,因為通過産品進行品牌定位,可以挖掘消費者感興趣的一些點,當消費者産生需求的時候,就會想到品牌,這樣可以給企業品牌在市場上樹立一個明确、與競争對手有...
2024-10-21
手提電腦蘋果m1二手
手提電腦蘋果m1二手
雖然已經推出了M2、M1Pro和M1Max,但是蘋果M1芯片至今仍然具備非常強大的運算和處理能力。今天給大家推薦的是采用了M1芯片設計的蘋果Macmini電腦,它擁有非常強大的處理性能和圖形顯示能力,可以滿足用戶多種辦公和後期的需求,适合辦...
2024-10-21
宮鬥重生寵文
宮鬥重生寵文
肥肥的Q寫的,已完結。小編剛看完,超好看的,女主是穿越的,有系統,隻要完成任務就可以解綁,男主是個霸道任性的王爺,很好看的一部小說。,
2024-10-21
為什麼登錄外服會彈出頁面
為什麼登錄外服會彈出頁面
方法一:關掉代理局域網1.打開windows設置→網絡和Internet→代理→勾選自動檢測設置,關掉使用設置腳本,關掉使用代理服務器,就可以正常使用2.如果代理無法關閉,使用注冊表删除法1.windowR,輸入regedit,回車2.點擊...
2024-10-21
Copyright 2023-2024 - www.tftnews.com All Rights Reserved