如何使用Qt5在窗口中显示矩形(v0.1.3)(上)

作者:赵文硕,沈传越

明德融创工作室(Minter Fusion Studio, MFS) 出品

本文介绍的所有步骤均经过测试复现。


如何使用Qt5在窗口中显示矩形(v0.1.3)(下)

一、术语

【Qt Widget】

Qt基础界面组件,是所有可绘制界面元素的基类,窗口、按钮、矩形绘制区域均基于Widget实现。

【QPainter】

Qt绘图工具类,用于在Widget上绘制矩形、直线、文字、图片等2D图形。

【paintEvent】

Qt窗口重绘事件,窗口显示、刷新时自动触发,绘图代码必须写在此事件中。

【QRect】

Qt矩形数据结构,用于定义矩形的坐标、宽度、高度。

【Qt Creator】

Qt官方集成开发环境,用于创建、编写、编译、运行Qt项目。

【setWindowTitle】

Qt窗口标题设置函数,用于修改窗口名称。

【setStyleSheet】

Qt样式表函数,可快速设置窗口背景颜色、控件样式等,语法简洁易操作。

【setPen】

QPainter的绘图设置函数,专门用于设置矩形边框的颜色、线条粗细。

【setBrush】

QPainter的绘图设置函数,专门用于设置矩形内部的填充颜色。

三、软硬件环境

所有开发步骤在Windows 11下的VMWare虚拟机上开发完成。

(一)开发环境

1. 硬件环境

(1)CPU:x86,4核

(2)内存:8G

(3)显存:32M

2. 软件环境

(1)Windows 11家庭版

(2)VMware Workstation Pro 17.6.3 build-24583834

(3)openKylin 2.0 SP2

(4)Qt 5.15.10(GCC 12.2.0, 64bit)

(5)Qt Creator 6.0.2

(二)测试验证环境

1. 硬件环境

(1)中央处理器(CPU):11th Gen Intel(R) Core(TM) i5-1155G7 @ 2.50GHz (2.50 GHz)

(2)内存:24G

(3)显存:128M

2. 软件环境

(1)Windows 11 家庭中文版(26200.8246)64 位操作系统

(2)Oracle VirtualBox,版本 7.2.6 r172322 (Qt6.8.0 on windows)

(3)openKylin-Desktop-V2.0-SP2-20260115-x86_64

(4)Qt 5.15.10(GCC 12.2.0, 64bit)

(5)Qt Creator 6.0.2

三、操作步骤

步骤1 启动Qt Creator并新建项目

  1. 点击openKylin任务栏最左侧"开始菜单"图标(如图1所示),在开始菜单中找到Qt Creator图标(如图2)并点击启动Qt Creator,打开如图3所示的Qt Creator欢迎界面。

图1 openKylin 2.0"开始菜单"图标

图2 Qt Creator图标

图3 Qt Creator欢迎界面

  1. 在成功打开Qt Creator欢迎界面(如图3)后,点击左上角「文件」菜单(如图4),选择「新建文件或项目」(如图5),或使用快捷键Ctrl+N快速打开。

图4 「文件」菜单

图5 「新建文件或项目」菜单项

  1. 在弹出的新建项目窗口中,从左侧Projects列表选择分类,在中间模板列表中选择「Qt Widgets Application」(如图6),点击窗口右下角如图7所示的「Choose...」按钮。

图6 选择「Qt Widgets Application」

图7 「Choose...」按钮

  1. 在Project Location(项目路径)设置界面(如图8),在「名称」一栏中填写Rectangle,「创建路径」选择不含中文、空格及特殊字符的路径(避免后续编译报错),点击「下一步(N)」。后续步骤均按默认设置点击「下一步(N)」,最后点击「完成(F)」按钮,完成项目创建。

图8 Project Location(项目路径)设置界面


如何使用Qt5在窗口中显示矩形(v0.1.3)(下)


【版本信息】

版 本:0.1.0

完成时间:2026-04-22

第一次发布时间:2026-04-22

最后更新时间:2026-04-22


【创作团队】

策 划:沈传越

文字创作:赵文硕,沈传越

统 稿:沈传越

技术支持:赵文硕

图片采集:赵文硕,沈传越

技术验证:沈传越

编 辑:沈传越

排 版:沈传越

相关推荐
独隅4 分钟前
Claude 高效使用指南深度评测
java·开发语言·claude·claude code
Agent世界5 分钟前
千问Go上线我的应用:一句话生成可部署 AI 软件的技术拆解
开发语言·人工智能·golang·ai智能体
布莱克6056 分钟前
C++ 中 unordered_set 与 unordered_map 有什么不同?一篇讲透
开发语言·c++·哈希
小豆庄9 分钟前
视频脱敏引擎的追踪难题:转场误判定、ID撞号和淡入窗口
qt·算法·目标检测·音视频·视频·敏捷流程
外收内放16 分钟前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
垆边人似月.19 分钟前
预处理与参数调优(让识别率从“能看”到“可用”)
开发语言·python·自然语言处理
泡泡糖的中文规格书34 分钟前
HDLbits 2.2 学习笔记 · 多路复用器
java·开发语言
John_Hui36 分钟前
第 3 篇:配置 JDK 17 环境
java·开发语言·ubuntu
充值内卷1 小时前
C++单文件迷宫游戏:TauriCPP 开发全记录
开发语言·c++·游戏
Antruly1 小时前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++