介绍 QT 的 QGraphicsView 和 QGraphicsScene

当绘制复杂的图形或实现交互式图形应用程序时,可以使用 QGraphicsView 和 QGraphicsScene 来进行绘图。

QGraphicsScene:

QGraphicsScene 是一个场景,可以容纳和管理图形项(QGraphicsItem)。它提供了一个二维坐标系统,可以在其中添加、删除和管理图形项。您可以在 QGraphicsScene 中添加多个图形项,并对它们进行组织和操作。

QGraphicsView:

QGraphicsView 是用于显示 QGraphicsScene 中的图形项的视图。它提供了对场景的可视化和交互,可以放大、缩小、平移和旋转场景中的图形项。QGraphicsView 还支持鼠标和键盘事件,可以实现与图形项的交互。

使用 QGraphicsView 和 QGraphicsScene 绘制图形的基本流程如下:

创建 QGraphicsScene 对象:

复制代码
QGraphicsScene *scene = new QGraphicsScene;

创建 QGraphicsView 对象,并设置场景:

复制代码
QGraphicsView *view = new QGraphicsView;
view->setScene(scene);

创建图形项,并添加到场景中:

复制代码
QGraphicsRectItem *rectItem = new QGraphicsRectItem(QRectF(0, 0, 100, 100));
scene->addItem(rectItem);

可选:设置图形项的属性和样式:

复制代码
rectItem->setBrush(Qt::red);

显示 QGraphicsView:

复制代码
view->show();

通过上述步骤,您可以在 QGraphicsView 中显示一个矩形图形项。您还可以通过添加其他类型的图形项,如椭圆、多边形、文本等,以及使用不同的样式和属性来绘制更复杂的图形。

相关推荐
委婉待续1 小时前
Qt的学习(一)
开发语言·qt·学习
笨笨马甲1 小时前
Qt Quick Layout功能及架构
开发语言·qt
feiyangqingyun2 小时前
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
c++·qt·udp·gb28181
jllws13 小时前
Qt学习及使用_第1部分_认识Qt---学习目的及技术准备
qt·c++框架
到点就困告4 小时前
海康工业相机SDK二次开发(VS+QT+海康SDK+C++)
数码相机·qt·海康
唐墨12315 小时前
android与Qt类比
android·开发语言·qt
道剑剑非道16 小时前
QT开发技术【ffmpeg + QAudioOutput】音乐播放器 完善
开发语言·qt·ffmpeg
不惑_17 小时前
用 PyQt5 打造一个可视化 JSON 数据解析工具
开发语言·qt·json
誰能久伴不乏1 天前
Qt 开发中的父类与父对象的区别和父对象传递:如何选择 `QWidget` 或 `QObject`?
java·开发语言·qt
誰能久伴不乏1 天前
理解继承与组合的本质:Qt 项目中的设计选择指南
开发语言·qt