QPainter绘图基本过程

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    setPalette(QPalette(Qt::white)); //设置QPalette对象的背景属性(颜色或者图片)
    setAutoFillBackground(true);//设置窗体自动填充背景
}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPainter *event)
{
    Q_UNUSED(event);
    QPainter painter(this);//创建对象
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setRenderHint(QPainter::TextAntialiasing);
    int w = this->width();
    int h = this->height();
    QRect rect(w/4,h/4,w/2,h/2);
    //设置画笔
    QPen pen;
    pen.setWidth(3);//设置线宽
    pen.setColor(Qt::red); //划线颜色
    pen.setStyle(Qt::SolidLine);//线的样式,实线,虚线等
    pen.setCapStyle(Qt::FlatCap);//线端点样式
    pen.setJoinStyle(Qt::BevelJoin);//线的连接点样式
    painter.setPen(pen);
   QPixmap pixmap(":image/xxx.jpg");
    //设置画刷
    QBrush brush;
    brush.setColor(Qt::blue); //画刷颜色
    brush.setStyle(Qt::SolidPattern);//设置画刷填充样式
    painter.setBrush(brush);
   // painter.setBrush(pixmap);//设置材质图片
    painter.drawRect(rect);

}
posted @ 2021-07-20 11:54  Azuki_op  阅读(220)  评论(0)    收藏  举报