Qt画笔的简单使用
#include"mainwindow.h"#include"ui_mainwindow.h"#include<QLinearGradient>#include<QRadialGradient>MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);this->resize(800,480);}voidMainWindow::paintEvent(QPaintEvent*event){//画直线QPainterpainter(this);painter.setPen(Qt::red);//设置画笔为颜色painter.drawLine(50,50,600,400);//(50,50)为初始坐标,(600,400)为最终坐标//绘制矩形QRect为矩形类,QLinearGradient为呈线性梯度的渐变颜色类,线性渐变//QLinearGradientlinear(rect().topLeft(),rect().bottomLeft());//rect矩形的左上角坐标、右下角坐标,作为渐变颜色的方向//linear.setColorAt(0,Qt::red);//linear.setColorAt(0.5,Qt::green);//linear.setColorAt(1,Qt::blue);//设置红、绿、蓝变化//painter.setPen(Qt::gray);//设定画笔颜色,到时侯就是边框颜色//painter.setBrush(linear);//设置画笔,到时候就是区域颜色//painter.drawRect(QRect(0,30,this->width(),this->height()-30));//设置绘制区域画矩形,左上角横纵坐标、矩形宽度和高度//绘制矩形辐射渐变//QRadialGradientradialGradient(310,110,100,310,110);//创建了一个QRadialGradient对象实例,参数分别为中心坐标,半径长度和焦点坐标,如果需要对称那么中心坐标和焦点坐标要一致//radialGradient.setColorAt(0,Qt::green);////radialGradient.setColorAt(0.2,Qt::white);//radialGradient.setColorAt(0.4,Qt::blue);////radialGradient.setColorAt(0.6,Qt::red);//radialGradient.setColorAt(1.0,Qt::yellow);//painter.setBrush(QBrush(radialGradient));//painter.drawEllipse(210,10,200,200);//在相应的坐标画出来//绘制矩形弧度渐变//QConicalGradientconicalGradient(510,110,0);//创建了一个QConicalGradient对象实例,参数分别为中心坐标和初始角度//conicalGradient.setColorAt(0,Qt::green);//conicalGradient.setColorAt(0.2,Qt::white);//conicalGradient.setColorAt(0.4,Qt::blue);//conicalGradient.setColorAt(0.6,Qt::red);//conicalGradient.setColorAt(0.8,Qt::yellow);//conicalGradient.setColorAt(1.0,Qt::green);////设置渐变的颜色和路径比例//painter.setBrush(QBrush(conicalGradient));//painter.drawEllipse(410,10,200,200);//在相应的坐标画出来//绘制折线painter.setPen(Qt::red);staticconstQPointFpoints[4]={QPointF(0,30),QPointF(0,this->height()-1),QPointF(this->width()-1,this->height()-1),QPointF(this->width()-1,30)};painter.drawPolyline(points,4);//由4个点连成的折线}MainWindow::~MainWindow(){deleteui;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。