1. 创建第一个Qt Widgets窗口

创建第一个Qt Widgets窗口 学习卡片

任务目标

使用 Qt Widgets 创建一个最小可运行的桌面窗口应用程序。窗口标题为“Hello Qt”,窗口内部显示文本“Hello, Qt Widgets!”。运行程序后,应出现一个带标题栏的窗口,窗口中央显示上述文本。

环境与依赖

  • Qt 5.15 或 Qt 6.x(本文以 Qt 6 为例,Qt 5 用法相同)
  • 编译器:支持 C++17 的编译器(MSVC、GCC、Clang 均可)
  • 构建工具:CMake 3.16+ 或 qmake

完整实现

创建两个文件:main.cpp 和 CMakeLists.txt。核心代码如下:

// main.cpp
#include <QApplication>
#include <QLabel>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    // 创建主窗口
    QWidget window;
    window.setWindowTitle("Hello Qt");
    window.resize(400, 300);

    // 创建并设置居中显示的文本标签
    QLabel label("Hello, Qt Widgets!", &window);
    label.setAlignment(Qt::AlignCenter);
    label.setGeometry(0, 0, 400, 300);  // 与窗口同尺寸,实现居中效果

    window.show();
    return app.exec();
}
# CMakeLists.txt
cmake_minimum_required(VERSION 3.16)
project(HelloQtWidgets)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Widgets)
# 若使用 Qt5,改为: find_package(Qt5 REQUIRED COMPONENTS Widgets)

qt_standard_project_setup()  # Qt6 专用;Qt5 请删除此行

qt_add_executable(hello_qt main.cpp)
target_link_libraries(hello_qt PRIVATE Qt6::Widgets)
# Qt5 请改为: target_link_libraries(hello_qt PRIVATE Qt5::Widgets)

编译与运行

  1. 在源码目录下执行:
mkdir build && cd build
cmake ..
cmake --build .
  1. 运行生成的可执行文件:
# Linux/macOS
./hello_qt
# Windows
hello_qt.exe

验证方法

程序启动后,观察以下两点以确认实现正确:

  • 窗口标题栏显示 Hello Qt;
  • 窗口中央显示文本 Hello, Qt Widgets!,文本随窗口缩放保持居中(因为 QLabel 与窗口等尺寸且对齐方式为居中)。

若窗口正常显示且标题与文本内容与上述一致,则案例通过。

Hello Qt Hello, Qt Widgets! QLabel 与窗口等尺寸,居中对齐