QT学习4:图形与事件

1 QPainter

1.1 绘制方式

类型说明
Qlmage通过与硬件无关的绘制式,直接访问像素以显示图形。QPainter利用Qlmage显示图形时,Qlmage实例使用基于软件的光栅化方式
QPixmap在屏幕上显示图像时,提供优化。使用基于软件的光栅化方式显示图像
QOpenGLPaintDevice使用OpenGL和OpenGLES等基于硬件的加速器显示图形
QBackingStoreQWindow类,QBackingStore用于在顶层窗口的制图区域显示图形。
QWidgetQWidget类在控件区域显示图形

1.2 基本绘图

这里介绍利用QPainter绘制点、线等基本图形的QPen和QBrush类。

类型说明
QPenQPen类使用QPainter绘图时,绘制线和图形轮廓的颜色、宽度、风格等。
QBrushQBrush类用指定的颜色填充QPainter绘制的图形。

1.3 其他绘图

类型说明
QLinearGradient线性渐变,从起始坐标到结束坐标使用线性渐变
QRadialGradient辐射渐变,以坐标为中心显示圆形渐变
QConicalGradient角度渐变,以角度为中心显示渐变
QTransform在QPainter界面使用扩大/缩小、旋转、远近等技巧。

2 视图及效果

2.1 视图

视图说明
QGraphicsViewQGraphicsView是为了在场景上显示控件而提供的类。QGraphicsView包括可视视图控件区域和用于显示大场景的滚动条区域。视图接受用户点击按钮和触摸输入事件,而且,发送可视视图区域中发生的输入事件之前,可以控制场景事件。
QGraphicsSceneQGraphicsScene类可以保存控件,也可以处理键盘和触摸事件,还可以管理对象的焦点状态或被选中对象等的状态。
QGraphicsltemQGraphicsltem是为了在图形视图上实现图形对象而提供的类。QGraphicsltem提供成组管理图形对象的界面,以及显示矩形等形状的典型图形项目的QGraphicsRectltem类、显示椭圆图形对象的QGraphicsEllipseltem类、显示文本对象的QGraphics Textltem类。

在这里插入图片描述

2.2 效果

效果说明
QGraphicsBlurEffect模糊效果
QGraphicsDropShadowEffect阴影效果
QGraphicsColorizeEffect使用色调(tint)的着色效果
QGraphicsOpacityEffect透明效果

3 事件处理

为了在QGraphicsView中处理鼠标事件,提供了QGraphicsSceneMouseEvent类,且只能在QGraphicsView上使用。

类型说明
mousePressEvent按下鼠标时发生的事件
mouseReleaseEvent释放鼠标时发生的事件
mouseMoveEvent鼠标被按状态下移动坐标时发生的事件
mouseDoubleClickEvent双击鼠标时发生的事件。

类似的,还有keyPressEvent、keyReleaseEvent等事件处理函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值