亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Qt創(chuàng)建項目實戰(zhàn)之手把手創(chuàng)建第一個Qt項目

 更新時間:2023年04月23日 09:17:43   作者:前端開發(fā)小陳  
我們在進行軟件開發(fā)學(xué)習(xí)時,有時候需要qt軟件進行代碼的敲寫,下面這篇文章主要給大家介紹了關(guān)于Qt創(chuàng)建項目實戰(zhàn)之手把手創(chuàng)建第一個Qt項目的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

前言

上一節(jié)介紹了QtCreator編輯器的頁面長什么樣子,以及都有哪些功能區(qū),每個功能區(qū)都是用來做什么的。這一節(jié)我就手把手帶大家創(chuàng)建一個Qt項目。

創(chuàng)建項目

點擊新建按鈕

創(chuàng)建項目有兩個入口,一個是在歡迎頁面的projects中點擊New(新建)按鈕,另一個是點擊標(biāo)題欄中的文件,在文件下拉列表中點擊新建文件或項目

選擇模板

點擊新建以后,會彈出一個模板選擇窗口,我們這里應(yīng)該選擇Application下面的Qt Widget Application。右邊是對這個模板的解釋。這是一個桌面Qt應(yīng)用,包含一個基于Qt設(shè)計師的主窗體。選擇好之后,點擊Choose進入下一步。

點擊Choose之后,會彈出一個多步驟設(shè)置彈窗。

多步驟設(shè)置

第一步:Location(項目介紹和位置)。

  • 我們在 “名稱” 一欄中,可以輸入項目的名稱,例如“FistProject”。注意: 項目名稱不能包含空格和中文。
  • 在 “創(chuàng)建路徑” 一欄中,可以選擇項目創(chuàng)建的位置,即我們想將創(chuàng)建的項目文件保存在哪里。注意: 路徑中同樣不可以出現(xiàn)中文,如果路徑中有中文,那你創(chuàng)建的項目雖然可以創(chuàng)建成功,但是是運行不起來的。
  • “設(shè)為默認的項目路徑” 勾選框,如果勾選上,那下次創(chuàng)建的項目會自動保存在我們設(shè)置的路徑下。這里可選可不選。 然后點擊下一步,進入到構(gòu)建系統(tǒng)。

第二步:Build System(構(gòu)建系統(tǒng))

“build system” 一欄是一個下拉框,可以選擇qmake、CMake、Qbs。我們這里選擇qmake,來幫助我們實現(xiàn)構(gòu)建過程。然后點擊下一步,進入到項目信息。

第三步:Details(項目信息)

這里是用來設(shè)置項目的主窗口信息的。

  • 我們在 “Class Name” 一欄中,可以輸入主窗口的類名,可以自定義一個名字,例如“MyWidget”。
  • 我們在 “Base Class” 一欄中,可以選擇主窗口的基類,這里有三個選項:QMAinWindow、QWidget、QDialog。我們這里選擇QWidget。
  • Header file、Source file、Form file 這三項是不需要我們手動輸入的,當(dāng)我們在設(shè)置主窗口類名時,這三項的內(nèi)容是會跟隨變化的。他們?nèi)齻€分別表示了頭文件名稱(.h)、源文件名稱(.cpp)、界面文件名稱(.ui)。

注:QMainWindow、QWidget、QDialog三者的關(guān)系:

  • QWidget 是QMainWindow和QDialog的父類。
  • QWidget 是一個最簡單的窗口,這個窗口被創(chuàng)建出來后,窗口內(nèi)部什么都沒有。
  • QMainWindow 在窗口內(nèi)部包含了菜單欄,還包含一些工具以及狀態(tài)欄等。
  • QDialog是一個對話框。對話框是在一個窗口中彈出來的窗口,一般會擁有兩個選擇按鈕,例如確定和取消。

然后點擊下一步進入翻譯文件。

第四步:Translation(翻譯文件)

第五步:Kits(構(gòu)建套件)

第六步:Summary(匯總)

創(chuàng)建好的項目在QtCreator中長這個樣子:

我們在左上項目窗口可以看到我們創(chuàng)建的項目包含了哪些文件,首先有一個.pro文件,接下來是頭文件,然后是源文件,最后是ui文件。其中MyWidget.h和MyWidget.cpp以及MyWidget.ui使我們在創(chuàng)建項目過程中自己設(shè)置的主窗口的相關(guān)文件。而FirstProject.pro文件和main.cpp文件是自動創(chuàng)建出來的文件。那么FirstProject.pro文件和main.cpp文件又是做什么的呢?

main文件介紹

頭文件

首先,我們先介紹main文件引入的頭文件:

  • mywidget.h: 這是我們主窗口類的頭文件。
  • QApplication: 這是一個應(yīng)用程序類的頭文件。

main函數(shù)

然后,我們介紹一下main函數(shù):

  • main函數(shù)是我們這個項目的程序入口。它有兩個參數(shù),一個是argc,代表命令行變量的數(shù)量;一個是argv,代表命令行變量的數(shù)組。
  • 在程序中,程序中有各種各樣的操作,比如鼠標(biāo)點擊、鍵盤輸入等等,這些操作都是通過argc和argv這兩個參數(shù)接收到命令的。
  • 在main函數(shù)中,將argc和argv這兩個參數(shù)傳遞到用QApplication創(chuàng)建的a對象中。這個a就是一個應(yīng)用程序?qū)ο?。在Qt中,應(yīng)用程序?qū)ο笥星覂H有一個。
  • MyWidget類創(chuàng)建一個w對象,這個w就是我們的主窗口,創(chuàng)建了之后窗口是不會顯示的,需要再調(diào)用show方法將主窗口顯示出來。
  • return a.exec(); 這句代碼是讓應(yīng)用程序?qū)ο?a)進入消息循環(huán)機制。這個消息循環(huán)機制可以理解為一個死循環(huán),讓我們的程序窗口能夠持續(xù)顯示在屏幕上,并沒有因為執(zhí)行完代碼就立即退出。這個時候這個消息循環(huán)一直在捕獲窗口中的消息,當(dāng)接收到我們點擊關(guān)閉按鈕后,才會退出消息循環(huán),然后return掉,退出程序。實際上就是讓代碼阻塞到return a.exec();這一行,不讓它往下執(zhí)行。

pro文件介紹

pro文件也叫工程文件,文件中以#號開頭綠色的部分是注釋部分。這個文件我們只需要知道它是干嘛就可以了,非必要情況,不要動這里面的代碼。

  • 第一部分: Qt包含的模塊。core代表核心模塊,gui代表圖形模塊。除了這兩個模塊以外還有其它的模塊,例如network、multimedia、sql等等。需要哪個模塊,在后面添加哪個模塊就可以了。
  • 第二部分: greaterThan(QT_MAJOR_VERSION, 4): QT += widgets:表示大于Qt4版本以上,會包含widgets模塊。也就是Qt5版本以后,會多一個模塊。保證不管是4版本還是5版本,程序運行都沒問題。
  • 第三部分: 表明使用C++11的標(biāo)準進行編譯。C++11 是現(xiàn)在的 C++ 標(biāo)準的名稱,在 Qt5 中,提供更多 C++11 的特性支持。
  • 第四部分: 是定義編譯選項。QT_DEPRECATED_WARNINGS表示當(dāng)Qt的某些功能被標(biāo)記為過時的,那么編譯器會發(fā)出警告。
  • 第五、六、七部分: 工程中包含的源文件、頭文件、ui文件有哪些。
  • 第八部分: Qt部署的一些默認規(guī)則。這里配置了在unix或者qnx系統(tǒng)生成的文件目錄。

這些都不用動,這都是系統(tǒng)生成的,以后進階開發(fā)中有需要的時候才會涉及到配置這些東西。

除了以上這八個部分以外,有些同學(xué)創(chuàng)建出來的pro文件中還會包含一些其他東西,比如:

  • TARGET=MyWidget: 這是目標(biāo)生成的.exe程序的名稱。這里是什么,你生成的exe的名稱就是什么。
  • TEMPLATE = app: 這是應(yīng)用程序模板。app說明這個應(yīng)用程序模板是Application。除了app,還有l(wèi)ib(庫)、vcapp、vclib、subdirs。

以上就是我們手把手創(chuàng)建項目的過程,以及對創(chuàng)建的項目中文件信息的講解。了解這些知識,對我們后續(xù)的開發(fā)有至關(guān)重要的作用。我們在學(xué)習(xí)過程中一定要追根溯源,不能只停留在表面知識。

在創(chuàng)建完一個項目之后,我們就要往里面加?xùn)|西了,也就是開發(fā)一個項目,后面我會繼續(xù)詳細講解開發(fā)一個項目的過程,以及我們首先需要掌握的一些基礎(chǔ)知識,一起去看看吧!

最后

到此這篇關(guān)于Qt創(chuàng)建項目實戰(zhàn)之手把手創(chuàng)建第一個Qt項目的文章就介紹到這了,更多相關(guān)Qt項目創(chuàng)建內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • C語言字符串左旋的兩種實現(xiàn)方法

    C語言字符串左旋的兩種實現(xiàn)方法

    匯編語言中有一種移位指令叫做循環(huán)左移(ROL),下面這篇文章主要給大家介紹了關(guān)于C語言字符串左旋的兩種實現(xiàn)方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 詳解C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法

    詳解C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法

    這篇文章主要介紹了C++循環(huán)創(chuàng)建多級目錄及判斷目錄是否存在的方法,文中代碼有一個針對各種系統(tǒng)進行判斷來加載不同頭文件的方法,需要的朋友可以參考下
    2016-03-03
  • C++?Primer的變量和基本類型詳解

    C++?Primer的變量和基本類型詳解

    這篇文章主要為大家介紹了C++?Primer,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 詳解c++ atomic原子編程中的Memory Order

    詳解c++ atomic原子編程中的Memory Order

    在多核編程中,我們使用內(nèi)核對象【如:事件對象(Event)、互斥量對象(Mutex,或互斥體對象)、信號量對象(Semaphore)等】來避免多個線程修改同一個數(shù)據(jù)時產(chǎn)生的競爭條件。本文將詳細介紹c++ atomic原子編程中的Memory Order。
    2021-06-06
  • 最新clion2020激活碼附安裝教程(親測有效)

    最新clion2020激活碼附安裝教程(親測有效)

    這篇文章主要介紹了最新clion2020激活碼附安裝教程(親測有效),本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • 淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別

    淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別

    這篇文章主要介紹了淺談C結(jié)構(gòu)和C++結(jié)構(gòu)之間的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 詳細講解C語言中的數(shù)據(jù)以及位運算

    詳細講解C語言中的數(shù)據(jù)以及位運算

    這篇文章主要為大家詳細介紹了C語言中數(shù)據(jù)表示方法以及位運算的相關(guān)知識點,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • C++Smart Pointer 智能指針詳解

    C++Smart Pointer 智能指針詳解

    這篇文章主要為大家詳細介紹了C++Smart Pointer 智能指針,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • VC++編程獲取窗口句柄的方法小結(jié)

    VC++編程獲取窗口句柄的方法小結(jié)

    這篇文章主要介紹了VC++編程獲取窗口句柄的方法,簡單總結(jié)分析了VC++獲取窗口句柄的常見函數(shù)與使用技巧,需要的朋友可以參考下
    2017-07-07
  • Qt5實現(xiàn)qDebug日志信息寫入日志文件過程

    Qt5實現(xiàn)qDebug日志信息寫入日志文件過程

    這篇文章主要為大家介紹了Qt5實現(xiàn)qDebug日志信息寫入日志文件的過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05

最新評論