开发环境:  Qt 4.5  Qt Creator 1.3.0 新工程创建步骤:1. 单击运行Qt Creator,进入欢迎页面。选择"File" -> "New File or Project...";2. 在弹出的窗口中选择“Qt4 Gui Application”,单击OK,下一步;3. 选择保存项目的路径以及定义自己项目的名字(路径不要有中文和空格),下一步;4. 出现“S
简述坐标系统由 QPainter 类控制,再加上 QPaintDevice 和 QPaintEngine,就形成了 Qt 的绘图体系。QPainter:用于执行绘图操作QPaintDevice:二维空间的抽象层,可以使用 QPainter 在它上面进行绘制。QPaintEngine:提供了统一的接口,用于 QPainter 在不同的设备上进行绘制。QPaintDevice 类是可以被绘制的对象的基
为了能够使用Qt开发图形绘制软件,首先应该掌握Qt的坐标系统。在Qt中,通过QPainter类来控制它的坐标系统。连同QPaintDevice类与QPaintEngine类,QPainter类构成了Qt绘图系统的基础。其中,QPainter用于执行绘图的操作;QPaintDevice是对一块二维空间的抽象,在这块空间上,我们可以使用QPainter进行图形的绘制;QPaintEngine提供了在不
转载 1月前
427阅读
1.在创建QGraphicsItem子类的时候,想要实现自己绘图,一般是重新实现boundingRect()和paint()函数,如果不重新实现shape(),基类的实现将会退而使用 boundingRect()。 2.boundingRect()这个函数的返回值是一个QRectF(一个正方形的区域),当我们需要处理我们所写的MyItem接受到的某些事件(比如鼠标按下、拖动等)时,这些事件就被规定
转载 2020-08-17 15:24:00
271阅读
2评论
简述 QGraphicsItem 类是 QGraphicsScene 中所有 item 的基类。 它提供了一个轻量级的基础,用于编写自定义 item。其中包括:定义 item 的几何形状、碰撞检测、绘制实现、以及通过其事件处理程序进行 item 的交互,QGraphicsItemQt之图形视图框架 的一部分。 常见的 QGraphicsItem 为方便起见,Qt 为最常见的形状提供了一组典型
转载 2020-08-14 10:33:00
583阅读
2评论
一、提要        qt的绘图中,Qpainter、GraphIterm、GraphScence是一整套互相配合的对象,它们是如何搭配绘制图形的呢,请看该文的介绍。        首先若要解决绘图问题,有下列问题必须解决:1)绘制到哪里
转载 6月前
92阅读
简述:QGraphicsItem 是场景中 item 的基类。图形视图提供了一些典型形状的标准 item,例如:矩形 ( QGraphicsRectItem )、椭圆 ( QGraphicsEllipseItem ) 、文本项 ( QGraphicsTextItem )。当这些不满足需求时(例如:在一些复杂的工作流场景中),往往需要自定义,通常的做法就是继承 QGraphicsItem。 自定义
转载 2020-08-17 16:18:00
990阅读
2评论
视图框架的一部分,为绘制你自己的item提供了一个轻量级的窗口。支持很多特性,例如:鼠标、键盘事件、拖放、分组、碰撞检测等。 通常在演示工具中使用分组,当用户想要将多个较小的 items 组合成一个大的 item 时,以简化 items 的移动和复制。 QGraphicsItemGroup 是一种特殊类型的复合 item,将自身及其所有子项视为一个 item(即,其所有子项的所有事件和几何图形都
转载 2020-08-17 15:34:00
561阅读
2评论
一.场景(QGraphicsScene) QGraphicsScene 提供了图形视图框架的场景,相当于一块画布,并具有以下功能。 1.一个管理大量图形项的快速接口。 2.向每个图形项传播事件 3.管理图形项的状态,比如选择,焦点处理等 4.提供无转换的渲染功能,主要用于打印 简单地一个场景使用 1 QGraphicsScene scene;//场景 2 scene.addText("Hello
转载 2020-08-14 10:27:00
579阅读
2评论
1、从文中可知当boundingRect()的矩形无法满足需求时,可以使用shpae()来返回任意形状,例如下图所示线条, 2、文中没有提示,通过代码检测后才知道,boundingRect()返回值范围必须包含shape(),不能直接写成QRect(),如下图所示,若 shape()范围比bound ...
转载 2021-10-05 19:13:00
2053阅读
2评论
1. 绘制图形1 protected: 2 void paintEvent(QPaintEvent *); 3 4 void Widget::paintEvent((QPaintEvent *event) 5 { 6 QPainter painter(this); //this为绘图设备,即表明在该部件上进行绘制 7 painter.drawLine(QPaint(0,
一.场景(QGraphicsScene)QGraphicsScene 提供了图形视图框架的场景,相当于一块画布,并具有以下功能。1.一个管理大量图形项的快速接口。2.向每个图形项传播事件
转载 2022-06-13 17:34:26
1106阅读
文章目录前言方法1:常规实现1. 画一条没有箭头的线2. 在这条线的基础上画上箭头方法2:利用QPainterPath实现总结完整代码 前言带箭头的线,在很多地方都会用到,以致于一开始我认为Qt会提供这样一个类。。。没想到的是Qt不仅没有提供相关的类,自己实现的时候还颇为复杂。。其实我比较不理解。。为什么Qt不提供一个带箭头的线的类呢。。为什么为什么呢?这个应该不少人会用到吧。。。废话不多说,马
转载 7月前
82阅读
Model-View这个结构是把数据存储与数据表示进行了分离,它与MVC都基于同样的思想,但它更简单一些。这种分离使得在几个不同的view上显示同一个数据成为可能,也可以重新实现新的view,而不必改变底层的数据结构。AD: 本篇介绍的是在Qt Widget中自定义Model 的内容,一直觉得Qt里的Model-View概念极其神秘, 因为看过很多一知半解的source code。这两天因为
程序运行截图如下: 原理:使用QPainter一个部分,一个部分的画 源码: mygraphicsitem.h 1 ifndef MYGRAPHICSITEM_H 2 #define MYGRAPHICSITEM_H 3 4 #include <QGraphicsItem> 5 6 class MyGraphicsItem:public QGraphicsIte
转载 2020-08-17 11:46:00
680阅读
2评论
Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放。这个柜架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。Items能处理键盘...
转载 2015-09-16 17:48:00
324阅读
2评论
QGraphicsItem信号连接问题由于QGraphicsItem没有继承QObject类,所以不能在它的继承类中使用信号槽机制。我写了个继承类,继承自QGraphicsItem和QObject,想要使用信号槽机制,但是会出错。请问怎样做才能使QGraphicsItem的子类使用信号槽机制呢? QGraphicsItem 信号槽机制   ------解决方案---------------
转载 2020-08-18 09:29:00
468阅读
2评论
  Graphics View提供了一个界面,它既可以管理大数量的定制2D graphical items,又可与它们交互,有一个view widget可以把这些项绘制出来,并支持旋转与缩放。这个柜架也包含一个事件传播结构,对于在scene中的这些items,它具有双精度的交互能力。Items能处理键盘事件,鼠标的按,移动、释放、双击事件,也可以跟踪鼠标移动。Graphics View使用BSP树
转载 2020-08-17 13:17:00
1101阅读
2评论
1  简介Qt绘图设备有三种:QPixmap、QBitmap、QImage、QPicture。QPixmap:专门针对屏幕进行优化了,和平台相关,不能对图片进行修改。QBitmap:QPixmap的一个子类,它的色深限定为1(表示颜色的二进制位数),提供单色图像,只有黑白两色的图像数据。QImage:和平台无关,可以对图片进行修改,可在线程中绘图。QPicture:保存绘图的状态为二进制
转载 2月前
363阅读
在学习《Foundations of Qt Development》中的7-20. A shape contai
原创 2022-08-09 19:00:12
314阅读
  • 1
  • 2
  • 3
  • 4
  • 5