Qt界面简单绘图学习笔记
2017-09-10 21:59
411 查看
QT界面绘图
1.paintEvent事件
1.1 只能在该事件内进行绘图 1.2 该事件会在改变窗口大小,调用update()函数时进行刷新。 1.3 需要加头文件#include<QPainter> 1.4 需要在内创建一个QPainter类的对象才能进行绘图: QPainter p(this);this表示在该窗口绘图。
2.画线条
2.1 使用方法p.drawLine 2.2 直接传参:
p.drawLine(10,10,100,100);//前两个参数表示前一个点的坐标,后两个参数表示下一个点的x和y坐标。
2.3 先使用QLine(QLineF)类创建线条,在画线
QLineF line(10.5,12.8,100.9,110.2);//坐标为浮点数 QLine line2(120,100,200,200);//坐标为整型值 p.drawLine(10,10,100,100); p.drawLine(line); p.drawLine(line2);
3.画矩形
3.1 使用方法p.drawRect 3.2 直接传参:
p.drawRect(10,10,200,200);//前两个参数表示矩形左上角顶点的x和y坐标。后两个参数代表矩形的宽度和高度。
3.3 先使用QRect(QRectF)类创建矩形,在传参画矩形
//参数为浮点数,width()和height()方法能获取到当前窗口的宽度和高度,所以该矩形能随着窗口大小动态变化。 QRectF rectangle(10.0,10.0,width()-20,height()-40); p.drawRect(rectangle);
4.画圆,椭圆
4.1 使用方法p.drawEllipse,参数需要的是矩形,画的是矩形的内接椭圆,如果矩形为正方形,则画的是圆形。 4.2 直接传参:
p.drawEllipse(10,10,20,20);//参数含义画矩形相同
4.3 先使用先使用QRect(QRectF)类创建矩形,在传参画矩形的内接椭圆
QRectF rectangle(10.0,10.0,width()-20,height()-40); p.drawEllipse(rectangele);
5.画扇形
5.1 使用方法p.drawPie 参数为三个,分别是椭圆的外接矩形,起始角度(三点钟方向为0°,逆时针计算),和转过的角度。 5.2 定义参数
QRectF rectangle(10.0,10.0,width()-20,height()-40); int startAngle = 30 * 16 ;//起始角度,单位为1/16度 30 * 16就是30度 int spanAngle = 120 * 16;//夹角 p.drawPie(rectangle,startAngle,spanAngle);//画扇形
6.改变线条和填充
6.1 定义画笔对象和填充对象
QPen pen;//画笔对象 QBrush brush;//填充对象
6.2 设置画笔的粗细和填充的方式及颜色
pen.setColor(QColor(0,255,255,255));//画笔颜色 pen.setWidth(2);//画笔粗细 brush.setColor(Qt::black);//填充颜色 brush.setStyle(Qt::CrossPattern);//填充类型
6.3 关键是要将画笔和填充和QPainter对象绑定
p.setBrush(brush);//给p绑定一个填充对象brush p.setPen(pen);//给p绑定一个指定的画笔pen
相关文章推荐
- Android(java)学习笔记218:开发一个多界面的应用程序之人品计算器的简单实现
- python学习笔记9--用turtle简单绘图2
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- 学习笔记之Qt4的2D绘图
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- MFC学习笔记 简单绘图及相关函数
- Android 开发学习笔记(五)—— 最简单的注册界面
- IOS入门学习笔记(简单的登录界面)
- OpenGL_Qt学习笔记之_02(绘制简单平面几何图形)
- vc学习笔记之简单绘图(第四章)
- Robot Framework与Web界面自动化测试学习笔记:简单例子
- Qt界面UI之QML初见(学习笔记四)
- 【Qt学习笔记】14.界面的样式 (Qt Stylesheet)
- Android开发学习笔记(六):最简单的办法实现APP欢迎界面
- 三. 简单绘图--Windows编程课程学习笔记
- java学习笔记之使用MyEclipse写一个简单的登陆界面(二)
- Qt界面UI之QML初见(学习笔记四)
- VS 学习笔记 简单绘图
- 【Java学习笔记】GUI界面之简单动画
- Qt学习(一)简单界面