QT基本绘图(背景图、线、矩形、圆形、椭圆形)以及颜色风格的设置
一、绘制背景图
void MyWidget::paintEvent(QPaintEvent *event)
{
QPainter p;//创建画家对象
p.begin(this);//指定当前窗口为绘图设备
p.drawPixmap(0,0,width(),height(),QPixmap(":/new/picture/1206021.png"));
//p.drawPixmap(rect(),QPixmap(":/new/picture/1206021.png"));
p.end();
}
这是绘图事件的实现,有窗口自动调用,width(),height()代表的是窗口的宽度和高度,0,0是x,y轴。也可以直接使用rect()来替代,作用就是获得窗口的矩形区域。
效果图如下,可以随着窗口改变而改变。
注意:需要添加头文件#include<QPainter>
二、绘制直线
参数分别是x的起点,y的起点,x的终点,y的终点
p.drawLine(50,50,500,50);//横线
p.drawLine(50,50,50,500);//竖线
三、使用画笔
QPen pen;
pen.setWidth(5);//设置线宽
//pen.setColor(Qt::red);//设置为红色
pen.setColor(QColor(150,25,96));//使用RGB设置颜色
pen.setStyle(Qt::DashDotDotLine);//设置线的风格,可以使用帮助文档查看有哪些风格
p.setPen(pen);//把画笔给画家
注意p.setPen(pen);需要写在begin和end函数之间才有效,使用画笔也要添加头文件
四、绘制矩形
p.drawRect(100,100,200,150);//(x起始坐标,y起始坐标,长,宽)
五、绘制圆形
p.drawEllipse(QPoint(300,300),50,50);(圆心,横轴半径,纵轴半径)
调节半径,可以绘制出椭圆形。
六、颜色填充
QBrush brush;
brush.setColor(Qt::red);//设置颜色
brush.setStyle(Qt::SolidPattern);//设置填充的风格,可以使用帮助文档查看有哪些风格
p.setBrush(brush);
注意p.setBrush(brush);需要写在begin和end函数之间才有效,使用画刷也要添加头文件
七、画点
p.drawPoint(500,500);