绘图

168 阅读1分钟
#include "widget.h"
#include "ui_widget.h"
#include<QPainter>
#include<QBrush>//填充颜色

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

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

void Widget::paintEvent(QPaintEvent *e)
{
    //方法一
     //QPainter  p(this);

    //方法二
    QPainter p;//创建画家对象
    p.begin(this);//指定当前窗口为绘图设备

    //绘图操作
   // p.drawxxxx;
    //画背景图  方法一二
   // p.drawPixmap(0,0,width(),height(),QPixmap(":/new/prefix1/image/路飞.jpg"));//自动获取宽度和高度
      p.drawPixmap(rect(),QPixmap(":/new/prefix1/image/路飞.jpg"));//rect自动获取矩形区

      //定义画笔
      QPen pen;
      pen.setWidth(5);//设置线宽
     // pen.setColor(Qt::yellow);//设置颜色
      pen.setColor(QColor(14,9,234));//rgb设置颜色
      pen.setStyle(Qt::DashDotDotLine);

      //把画笔交给画家
      p.setPen(pen);

       //画直线
       p.drawLine(50,50,150,50);
       p.drawLine(50,50,50,150);

       //创建画刷对象
       QBrush brush;
       brush.setColor(Qt::yellow);
       brush.setStyle(Qt::Dense1Pattern);

       //把画刷交给画家
       p.setBrush(brush);

       //画矩形
       p.drawRect(250,250,100,50);//起点坐标和长高

       //画圆形
       p.drawEllipse(QPoint(250,250),50,25);//圆心坐标和xy轴高

    p.end();
}