本文最后更新于145 天前,其中的信息可能已经过时
QPainter绘制重载函数
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
//重载函数 Q_DECL_OVERRIDE 告诉编译器是重载函数
QPainter绘制
QPainter painter(this);//创建画家
int W = this->width();
int H = this->height();
//painter.setRenderHint(QPainter::Antialiasing)
//painter.setRenderHint(QPainter::TextAntialiasing);
QRect rect(W/4,H/4,W/2,H/2);//声明矩形
QPen pen;//新建画笔
pen.setWidth(20);//设置画笔粗细
pen.setColor("#FF0000");//设置画笔颜色
pen.setStyle(Qt::DashDotDotLine);//画线样式
pen.setJoinStyle(Qt::RoundJoin);//链接处样式
QBrush brush;//刷子
brush.setColor("#555fff");//刷子颜色
brush.setStyle(Qt::Dense7Pattern);//刷子样式
painter.setPen(pen);//换笔
painter.setBrush(brush);//设置填充刷子
painter.drawRect(rect);//画矩形
绘制文字
QFont font;//字体信息
font.setPixelSize(20);//文字大小
font.setBold(true);//加粗
painter.setFont(font);
painter.drawText(rect,"Hello! Qt");//rect 绘制区域
绘制图片
QImage image("路径");
painter.drawImage(rect,image);//rect 绘制区域
绘制线
QPoint points[]={QPoint(10,50),QPoint(50,90),QPoint(300,50),QPoint(100,60)};//QPoint 坐标(x,y)
painter.drawPolyline(points,4);//绘制线