1. 创建第一个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)
编译与运行
- 在源码目录下执行:
mkdir build && cd build
cmake ..
cmake --build .
- 运行生成的可执行文件:
# Linux/macOS
./hello_qt
# Windows
hello_qt.exe
验证方法
程序启动后,观察以下两点以确认实现正确:
- 窗口标题栏显示 Hello Qt;
- 窗口中央显示文本 Hello, Qt Widgets!,文本随窗口缩放保持居中(因为 QLabel 与窗口等尺寸且对齐方式为居中)。
若窗口正常显示且标题与文本内容与上述一致,则案例通过。