解码Qt Creator——安装配置与工程创建

Qt Creator 下载与安装(Windows 系统)

Qt Creator 是跨平台的集成开发环境(IDE),适配 Qt 框架,支持 C/C++、Python 等语言开发,相比命令行开发能大幅提升开发效率。

image

  • 下载渠道:从 Qt 官网获取 Windows 版本安装包,安装前需注册 Qt 账号(无网络环境安装可跳过账号步骤,全程按默认选项执行即可)。

    image

  • 关键组件选择:嵌入式 Linux 开发学习场景下,需根据系统字长选择 MinGW 组件 ——32 位系统选 MinGW32,64 位系统选 MinGW64。MinGW 是 Windows 下模拟 Linux 环境的最小化子集,能让 Qt Creator 在 Windows 中调用 Linux 的库和接口,其余组件保持默认选择。

    image

注:需要将下述路径加入系统环境变量

image

image

Qt 第一个工程创建

基于设计器创建工程(可视化方式)

Qt Creator 内置可视化设计器,可快速创建工程,步骤如下:

  • 打开 Qt Creator 集成开发环境,点击「文件」→「新建文件或项目」;

  • 模板选择:左侧选中「Application」(Qt 应用程序),右侧模板说明:

    image

    • Qt Widgets Application:基于 C++ 的窗口工程(最常用);
    • Qt Console Application:基于 C++ 的控制台工程(无图形界面);
    • Qt for Python-Empty:Python 空工程;
    • Qt for Python-window:Python 窗口工程;
    • Qt Quick Application 系列:基于 QML 的界面工程(适配移动端 / 炫酷界面开发);
  • 工程命名与路径:工程名称、保存路径均不能包含中文字符,否则会导致编译异常;

  • 类信息设置:新手保持默认即可(如需自定义窗口类名可修改);

  • 编译套件选择:选择匹配的 Qt SDK 编译套件(如 MinGW64),其余步骤默认;

    image

  • 完成创建:生成包含.ui(界面文件)、.h(头文件)、.cpp(源文件)、.pro(工程管理文件)的完整工程。

编译运行工程

创建工程后需编译为可执行文件,先熟悉 Qt Creator 核心功能按钮:

image

点击「编译运行按钮」,若配置无误,会弹出默认 Qt 窗口,代表工程运行成功。

纯代码创建 Qt 工程(qmake+.pro 文件)

Qt 工程可通过 qmake(.pro 文件)或 CMake(CMakeLists.txt)管理,以下为 qmake 方式的纯代码工程创建步骤:

  • 创建工程目录:新建文件夹(如 codeFirstQt),避免中文路径;
  • 创建.pro 工程文件(codeFirstQt.pro),内容及注释如下:
# 配置Qt核心模块:core(核心功能)、gui(图形界面基础)、widgets(窗口组件),缺一不可
QT       += core gui widgets  
# 指定C++编译标准为C++11,兼容现代C++语法特性
CONFIG += c++11  
# 启用过时API警告:使用Qt废弃函数时编译器会触发警告提示
DEFINES += QT_DEPRECATED_WARNINGS  
# 源文件列表:指定.cpp文件,多个文件用空格分隔,换行需加反斜杠\
SOURCES += main.cpp    
# 头文件列表:指定.h文件,无则留空
HEADERS +=     
# UI文件列表:可视化设计文件,纯代码工程无则留空
FORMS +=

创建 main.cpp 源文件,内容及详细注释如下:

/**
 * @brief Qt纯代码窗口程序入口,演示最基础的图形界面程序结构
 * @include QApplication Qt应用程序核心类,管理应用生命周期、事件循环等,图形界面程序必须包含
 * @include QMainWindow Qt标准主窗口类,提供标题栏、菜单栏、状态栏等基础窗口框架
 */
#include <QApplication>
#include <QMainWindow>
/**
 * @brief 程序入口函数,Qt程序从main函数启动,与普通C++程序一致
 * @param argc 命令行参数个数(运行程序时传入的参数数量)
 * @param argv 命令行参数数组(字符串数组,存储具体参数内容)
 * @return int 程序退出码(0表示正常退出,非0表示异常退出)
 */
int main(int argc, char *argv[])
{
    // 1. 创建QApplication对象:Qt图形界面程序的核心,必须有且仅有一个
    //    作用:初始化应用环境、处理命令行参数、管理事件循环
    QApplication a(argc, argv);

    // 2. 创建QMainWindow窗口对象:Qt标准主窗口,默认处于隐藏状态
    QMainWindow w;
    
    /*可以在窗口对象上创建其他控件*/

    // 3. 显示窗口:Qt所有组件(控件/窗口)默认隐藏,需调用show()方法才能显示
    w.show();

    // 4. 进入Qt事件循环:将程序控制权交给Qt,持续监听并处理用户操作(如点击、输入)、系统消息
    //    exec()会阻塞至程序退出(如关闭窗口),返回退出码
    return a.exec();
}
  • 打开工程:用 Qt Creator 打开 codeFirstQt.pro 文件,弹出配置界面时直接确认默认选项;
  • 编译运行:点击编译运行按钮,会弹出空白的 QMainWindow 窗口,代表纯代码工程运行成功。

Qt 程序运行过程详解

Qt 基于 C++ 开发,程序从 main 函数启动,核心运行逻辑如下:

  • 头文件规则:Qt 中使用哪个类,就包含对应头文件(头文件名与类名一致,且类名均以 Q 开头,如 QApplication 对应);

  • QApplication 对象:Qt 图形界面程序的 “核心入口”,必须创建且仅能创建一个,构造函数接收 main 函数的 argc 和 argv,负责初始化应用程序的底层环境;

  • 事件循环(exec ()):exec () 会让程序进入阻塞状态,持续监听并处理用户操作(如点击窗口、输入文字)、系统消息(如窗口重绘),直到程序退出(如关闭窗口)。所有需在 Qt 框架中运行的代码,都要放在 QApplication 创建后、exec () 调用前

  • 示例:仅保留核心框架的空程序(无界面,仅运行 Qt 事件循环)

    #include <QApplication>
    /**
     * @brief 空Qt程序,仅验证核心框架运行
     * @note 无窗口显示,但Qt事件循环正常运行,需手动终止程序
     */
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        // 无业务代码,仅维持事件循环运行
        return a.exec();
    }
    
  • 窗口显示规则:Qt 所有组件(包括 QMainWindow)默认隐藏,必须调用 show () 方法才能显示;

  • 核心流程总结:创建 QApplication → 创建窗口 / 组件 → 显示组件 → 进入事件循环 → 等待程序退出。

Qt Designer 界面设计

Qt 制作 UI 界面有两种方式:Qt Designer(可视化设计)、纯代码编写。Qt Designer 已集成到 Qt Creator 中,双击工程中的.ui 文件即可打开,支持 “所见即所得” 的界面设计。

Qt Designer 功能区域划分

Qt Designer 界面分为 5 个核心区域,功能如下:

image

  • 窗口组件盒区域:内置 7 类常用组件,可直接拖拽到编辑区:
    • Layouts(布局):控制组件排列方式(水平布局、垂直布局、网格布局等);
    • Spaces(间隔):添加空白间隔,优化界面排版;
    • Buttons(按钮):普通按钮、复选框、单选框等按钮类组件;
    • ItemView(视图):列表视图、表格视图等数据展示组件;
    • ItemWidget(窗口视图):带窗口特性的视图组件;
    • Containers(容器):分组框、标签页等嵌套组件的容器;
    • InputWidget(输入组件):输入框、下拉框等用户输入类组件;
    • DisplayWidget(显示组件):标签、图片框等文本 / 图片显示组件;
  • 编辑预览区域:拖拽组件到此处,可直观调整组件大小、位置、样式,实时预览界面效果;
  • 信号与槽编辑区域:管理 Action 组件的槽函数关联,以及所有组件的信号 - 槽关联清单(信号槽是 Qt 组件间通信的核心机制);
  • 对象列表区域:显示当前界面的所有组件,以及组件的层级关系(如容器内嵌套的子组件);
  • 对象属性编辑区域:显示选中组件的所有属性(窗口标题、按钮文字、组件大小等),修改后实时生效。

Qt Designer 四种编辑模式

Qt Designer 提供 4 种模式,适配不同界面编辑需求:

窗口部件编辑模式(默认)

image

核心功能:拖拽组件到编辑区,可视化调整组件位置、大小、样式;支持 “Ctrl + 拖拽组件” 复制多个相同组件;

特点:所见即所得,新手入门首选,可快速搭建界面框架。

信号 / 槽编辑模式

image

核心功能:可视化关联组件的 “信号”(如按钮点击)和 “槽函数”(点击后的处理逻辑);

原理:Qt 的信号槽机制是组件间通信的核心,例如按钮触发 “clicked ()” 信号,关联到自定义槽函数后,点击按钮会自动执行槽函数逻辑;保存:关联关系会保存到.ui 文件中,编译时自动生效。

伙伴编辑模式

image

核心功能:建立 Label 组件与其他组件的 “伙伴关系”,实现快捷键联动;设置步骤:

  • 双击 Label 组件,在文本末尾添加 “&+ 字符 / 数字”(如 “确认按钮 & 1”);
  • 按住 Label 组件,拖拽到目标组件(如按钮),完成伙伴关系绑定;效果:程序运行时按 “Alt + 字符 / 数字”(如 Alt+1),光标会定位到目标组件(按钮则触发点击)。

Tab 顺序编辑模式

image

核心功能:设置程序运行时 “Tab 键” 切换输入焦点的顺序;

设置方式:编辑区会显示组件的 Tab 顺序编号,点击组件可修改编号,编号顺序即为 Tab 键切换顺序;

应用场景:输入框较多的界面(如登录页),优化用户按 Tab 键切换输入框的体验。

posted @ 2025-12-13 17:39  YouEmbedded  阅读(4)  评论(0)    收藏  举报