Qt教程:高级绘图设置

 添加了抗锯齿 和 画家状态保存

#include "widget.h"
#include "ui_widget.h"
#include <QPainter> //画家类

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

    this->resize(1400,1000);
    this->setWindowTitle("绘图本");
}

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


void Widget::paintEvent(QPaintEvent *event)
{
//    //实例化画家对象  this说明在当前widget下画画(指定的是绘图的设备)
//    QPainter painter(this);

//    //设置画笔
//    QPen pen(QColor(255,0,0));

//    //设置画笔宽度
//    pen.setWidth(3);

//    //设置画笔风格
//    pen.setStyle(Qt::DotLine);

//    //画刷 设置填充色
//    QBrush brush(Qt::cyan);

//    //设置画刷风格
//    brush.setStyle(Qt::Dense7Pattern);

//    //让画家使用画刷
//    painter.setBrush(brush);

//    //让画家使用这个笔
//    painter.setPen(pen);

//    //画线
//    painter.drawLine(QPoint(0,0),QPoint(100,100));

//    //画圆  Ellipse椭圆
//    painter.drawEllipse(QPoint(100,100),50,50);

//    //画矩形
//    painter.drawRect(QRect(20,20,50,50));

//    //画文字
//    painter.drawText(QRect(10,200,200,50),"好好学习,天天向上");



    // 高级设置

    QPainter painter(this);
//    painter.drawEllipse(QPoint(100,50),50,50);

//    //设置 抗锯齿能力  效率较低
//    painter.setRenderHint(QPainter::Antialiasing);
//    painter.drawEllipse(QPoint(200,50),50,50);


    //画矩形
    painter.drawRect(QRect(20,20,50,50));

    //移动画家 移动了 100,0 的位置
    painter.translate(100,0);

    //保存画家状态
    painter.save();

    painter.drawRect(QRect(20,20,50,50));

    painter.translate(100,0);

    //还原画家保存状态
    painter.restore();

    painter.drawRect(QRect(20,20,50,50));

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值