文章的目的為了記錄使用C++?進行QT Widget 開發學習的經歷。臨時學習,完成app的開發。開發流程和要點有些記憶模糊,趕緊記錄,防止忘記。
相關鏈接:
開源 C++ QT Widget 開發(一)工程文件結構-CSDN博客
開源 C++ QT Widget 開發(二)基本控件應用-CSDN博客
?
推薦鏈接:
開源 java android app 開發(一)開發環境的搭建-CSDN博客
開源 java android app 開發(二)工程文件結構-CSDN博客
開源 java android app 開發(三)GUI界面布局和常用組件-CSDN博客
開源 java android app 開發(四)GUI界面重要組件-CSDN博客
開源 java android app 開發(五)文件和數據庫存儲-CSDN博客
開源 java android app 開發(六)多媒體使用-CSDN博客
開源 java android app 開發(七)通訊之Tcp和Http-CSDN博客
開源 java android app 開發(八)通訊之Mqtt和Ble-CSDN博客
開源 java android app 開發(九)后臺之線程和服務-CSDN博客
開源 java android app 開發(十)廣播機制-CSDN博客
開源 java android app 開發(十一)調試、發布-CSDN博客
開源 java android app 開發(十二)封庫.aar-CSDN博客
推薦鏈接:
開源C# .net mvc 開發(一)WEB搭建_c#部署web程序-CSDN博客
開源 C# .net mvc 開發(二)網站快速搭建_c#網站開發-CSDN博客
開源 C# .net mvc 開發(三)WEB內外網訪問(VS發布、IIS配置網站、花生殼外網穿刺訪問)_c# mvc 域名下不可訪問內網,內網下可以訪問域名-CSDN博客
開源 C# .net mvc 開發(四)工程結構、頁面提交以及顯示_c#工程結構-CSDN博客
開源 C# .net mvc 開發(五)常用代碼快速開發_c# mvc開發-CSDN博客
本章主要內容:Qt 項目(特別是使用 Qt Widgets 或 Qt Quick 應用程序模板創建的項目)通常包含以下幾類核心文件。
?
1.核心文件
2.目錄和文件
3.編譯調試
一、核心文件
這些是構成一個 Qt 項目最基本、最重要的文件。
1. 項目文件 .pro
作用:這是 Qt 項目的核心配置文件,類似于 CMake 的 CMakeLists.txt 或 QMake 的 Makefile。它告訴 qmake 如何為你的應用程序生成 Makefile。
內容示例:
#-------------------------------------------------
#
# Project created by QtCreator 2022-06-07T15:32:57
#
#-------------------------------------------------QT += core gui
RC_ICONS += logo.ico
greaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = 1_ctrl
TEMPLATE = app# The following define makes your compiler emit warnings if you use
# any feature of Qt which as been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0SOURCES += \main.cpp \mainwindow.cppHEADERS += \mainwindow.hFORMS += \mainwindow.uiRESOURCES += \resources.qrc
2. 主程序入口 main.cpp
作用: 程序的入口點,負責初始化應用程序并啟動事件主循環。
?
3. 主窗口頭文件 mainwindow.h
作用: 聲明主窗口類,包括其成員變量(如 UI 組件)和成員函數(如槽函數)。
?
4. 主窗口源文件 mainwindow.cpp
作用: 實現主窗口類中聲明的構造函數、析構函數和成員函數(包括槽函數)。
?
5. 界面設計文件 mainwindow.ui
作用: 一個 XML 格式的文件,用于在 Qt Designer 中以拖拽的方式設計圖形用戶界面。它定義了窗口中的控件(按鈕、標簽等)、布局和它們的屬性。
如何編輯: 在 Qt Creator 中雙擊此文件即可在集成的 Designer 中打開進行可視化編輯。你不需要手動編輯這個 XML 文件。
編譯過程: 在構建項目時,qmake 會調用 uic(User Interface Compiler)工具將 .ui 文件編譯成對應的 ui_xxxx.h 頭文件(例如 ui_mainwindow.h),然后在 mainwindow.cpp 中包含并使用它。
?
6. 資源文件 resources.qrc
作用: 也是一個 XML 文件,用于將應用程序所需的靜態資源(如圖標、圖片、聲音、翻譯文件 .qm 等)編譯到最終的可執行文件中。這樣做的好處是發布程序時不需要附帶一堆零散的資源文件。
?
二、目錄和文件
當你編譯項目后,Qt Creator 會默認創建一個與源代碼分離的構建目錄(通常是 build-ProjectName-Desktop_Qt_...-Release/Debug)。這個目錄包含:
Makefile: 由 qmake 生成的,用于指導 make 如何編譯和鏈接項目。
debug/ 和 release/ 文件夾: 分別存放調試版和發布版的編譯輸出。
.o / .obj 文件: 源文件編譯后的目標文件。
moc_xxxx.cpp: 元對象編譯器(moc) 處理包含 Q_OBJECT 宏的頭文件后生成的 C++ 源文件。這是 Qt 信號槽機制的基石。
ui_xxxx.h: 由 uic 工具從 .ui 文件生成的頭文件。
qrc_xxxx.cpp: 由 rcc(Resource Compiler)工具從 .qrc 文件生成的源文件,它將資源數據轉換為靜態字節數組。
最終的可執行文件 .exe(Windows)或無后綴文件(Linux/macOS)。
?
三、運行調試