1 QPainter
1.1 绘制方式
类型 | 说明 |
---|
Qlmage | 通过与硬件无关的绘制式,直接访问像素以显示图形。QPainter利用Qlmage显示图形时,Qlmage实例使用基于软件的光栅化方式 |
QPixmap | 在屏幕上显示图像时,提供优化。使用基于软件的光栅化方式显示图像 |
QOpenGLPaintDevice | 使用OpenGL和OpenGLES等基于硬件的加速器显示图形 |
QBackingStore | QWindow类,QBackingStore用于在顶层窗口的制图区域显示图形。 |
QWidget | QWidget类在控件区域显示图形 |
1.2 基本绘图
这里介绍利用QPainter绘制点、线等基本图形的QPen和QBrush类。
类型 | 说明 |
---|
QPen | QPen类使用QPainter绘图时,绘制线和图形轮廓的颜色、宽度、风格等。 |
QBrush | QBrush类用指定的颜色填充QPainter绘制的图形。 |
1.3 其他绘图
类型 | 说明 |
---|
QLinearGradient | 线性渐变,从起始坐标到结束坐标使用线性渐变 |
QRadialGradient | 辐射渐变,以坐标为中心显示圆形渐变 |
QConicalGradient | 角度渐变,以角度为中心显示渐变 |
QTransform | 在QPainter界面使用扩大/缩小、旋转、远近等技巧。 |
2 视图及效果
2.1 视图
视图 | 说明 |
---|
QGraphicsView | QGraphicsView是为了在场景上显示控件而提供的类。QGraphicsView包括可视视图控件区域和用于显示大场景的滚动条区域。视图接受用户点击按钮和触摸输入事件,而且,发送可视视图区域中发生的输入事件之前,可以控制场景事件。 |
QGraphicsScene | QGraphicsScene类可以保存控件,也可以处理键盘和触摸事件,还可以管理对象的焦点状态或被选中对象等的状态。 |
QGraphicsltem | QGraphicsltem是为了在图形视图上实现图形对象而提供的类。QGraphicsltem提供成组管理图形对象的界面,以及显示矩形等形状的典型图形项目的QGraphicsRectltem类、显示椭圆图形对象的QGraphicsEllipseltem类、显示文本对象的QGraphics Textltem类。 |
2.2 效果
效果 | 说明 |
---|
QGraphicsBlurEffect | 模糊效果 |
QGraphicsDropShadowEffect | 阴影效果 |
QGraphicsColorizeEffect | 使用色调(tint)的着色效果 |
QGraphicsOpacityEffect | 透明效果 |
3 事件处理
为了在QGraphicsView中处理鼠标事件,提供了QGraphicsSceneMouseEvent类,且只能在QGraphicsView上使用。
类型 | 说明 |
---|
mousePressEvent | 按下鼠标时发生的事件 |
mouseReleaseEvent | 释放鼠标时发生的事件 |
mouseMoveEvent | 鼠标被按状态下移动坐标时发生的事件 |
mouseDoubleClickEvent | 双击鼠标时发生的事件。 |
类似的,还有keyPressEvent、keyReleaseEvent等事件处理函数。