如何使用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


【创作团队】

策 划:沈传越

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

统 稿:沈传越

技术支持:赵文硕

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

技术验证:沈传越

编 辑:沈传越

排 版:沈传越

相关推荐
AC赳赳老秦6 小时前
时间开销自动统计:OpenClaw 记录工作任务时长、分析时间分配、给出优化建议
java·大数据·开发语言·python·自动化·deepseek·openclaw
祉猷并茂,雯华若锦7 小时前
Appium 3.x 实战:元素定位与常见错误解析
开发语言·python·appium
Lethehong7 小时前
飞算Java:从需求梳理到风险闭环,搭建云盾企业信息安全与权限管理平台
java·开发语言
爱喝水的鱼丶7 小时前
SAP-ABAP:ALV数据导出增强——实现Excel/PDF/CSV多格式自定义导出
开发语言·性能优化·sap·abap·erp
Mortalbreeze7 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++
不会c+7 小时前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
不定积分要+C_yyy8 小时前
Java基础核心精讲:基本数据类型与包装类区别、自动装箱拆箱与缓存陷阱实战解析
java·开发语言
xingxiliang8 小时前
ReliableAgent:类似工程级可用的agent示例
java·开发语言·agent
buhuizhiyuci8 小时前
【python篇——一周速通python语法】python的基础语法操作
开发语言·python
程序猿编码8 小时前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型