欢迎来到天天文库
浏览记录
ID:48430371
大小:1.51 MB
页数:70页
时间:2020-01-19
《Qt绘图详解.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1《嵌入式GUI程序设计》——Qt5图形与图片(第六章)教学回顾Qt内置对话框(重点)Qt工具盒;Qt进度条;Qt调色板;Qt可扩展对话框2教学内容Qt绘制事件Qt2D绘图画笔画刷基本图形和文本绘制渐变填充绘制文本图像处理坐标系统与坐标变换绘图举例:表盘34Qt绘制事件事件处理和绘制(Painting)当应用程序收到绘制事件时,就会调用QWidget::paintEvent(),该函数就是绘制窗口的地方有两种方法要求重绘一个窗口update()–把重绘事件添加到事件队列中重复调用update()会被Qt合并为一次不会产生图像的闪烁可带参数指定重绘某个区域repaint()–立即产生绘制事件一般
2、情况下不推荐使用此方法只使用在需要立即重绘的特效情况下可带参数指定重绘某个区域5事件处理和绘制(Painting)为处理绘制事件,只需要重写paintEvent函数,并在该函数中实例化一个QPainter对象进行绘制6classMyWidget:publicQWidget{...protected:voidpaintEvent(QPaintEvent*);voidMyWidget::paintEvent(QPaintEvent*ev){QPainterp(this);...基本绘制QPainter类提供绘制操作其构造函数原型为:QPainter(QPaintDevice*device)QPai
3、ntDevice代表绘制2D图像的画布如下继承QPaintDevice的类对象都可用于QPainter绘制QWidget,QImage,QPixmap,QPicture,QPrinter,QSvgGenerator,QGLPixelBuffer,QGLFrameBufferObject,...78Qt2D绘图QT2D绘图Qt中的2D绘图部分,由3个类支撑整个框架:QPainter用来执行具体的绘图相关操作如画点,画线,填充,变换,alpha通道等。QPaintDevice是QPainter用来绘图的绘图设备,Qt中有几种预定义的绘图设备,如QWidget,QPixmap,QImage等。他们都
4、从QPaintDevice继承。9QPainter线和轮廓都可以用画笔(QPen)进行绘制,用画刷(QBrush)进行填充。字体使用QFont类定义,当绘制文字时,Qt使用指定字体的属性,如果没有匹配的字体,Qt将使用最接近的字体通常情况下,QPainter以默认的坐标系统进行绘制,也可以用QMatrix类对坐标进行变换10QPainter当绘制时,可以使用QPainter::RenderHint来告诉绘图引擎是否启用反锯齿功能使图变得平滑QPainter::RenderHint的可取值QPainter::Antialiasing:告诉绘图引擎应该在可能的情况下进行边的反锯齿绘制QPainte
5、r::TextAntialiasing:尽可能的情况下文字的反锯齿绘制QPainter::SmoothPixmapTransform:使用平滑的pixmap变换算法(双线性插值算法),而不是近邻插值算法11QPainter的绘图函数drawArc()弧drawChord()弦drawConvexPolygon()凸多边形drawEllipse()椭圆drawImage()QImage表示的图像drawLine()线drawLines()多条线drawPath()路径drawPicture()按QPainter指令绘制drawPie()扇形drawPixmap()QPixmap表示的图像draw
6、Point()点drawPoints()多个点drawPolygon()多边形drawPolyline()多折线drawRect()矩形drawRects()多个矩形drawRoundRect()圆角矩形drawText()文字drawTiledPixmap()平铺图像drawLineSegments()绘制折线1213画笔画笔画笔的属性包括线型、线宽、颜色等。画笔属性可以在构造函数中指定,也可以使用setStyle(),setWidth(),setBrush(),setCapStyle(),setJoinStyle()等函数设定Qt中,使用Qt::PenStyle定义了6种画笔风格,分别是Q
7、t::SolidLine,Qt::DashLine,Qt::DotLine,Qt::DashDotLine,Qt::DashDotDotLine,Qt::CustomDashLine。自定义线风格(Qt::CustomDashLine),需要使用QPen的setDashPattern()函数来设定自定义风格。14线型Qt::SolidLineQt::DashLineQt::DotLineQt::D
此文档下载收益归作者所有