qt 绘画事件

// 绘图事件
void Widget::paintEvent(QPaintEvent *event)
{

//    QPainter p(this);
//    QPixmap pix(":/res/PlayLevelSceneBg.png");
//    // 移动画家
//    p.translate(0,this->menuBar()->height());
//    // 绘画
//    p.drawPixmap(0,0,this->width(),this->height(),pix);
//    // 绘制lugo
//    pix.load(":/res/Title.png");
//    // 缩放pix
//    pix = pix.scaled(pix.width()/2,pix.height()/2);
//    p.drawPixmap(0,0,pix);
    // 创建画家
    QPainter painter(this);
    // 高级设置
//    painter.drawEllipse(QPoint(100,100),50,50);
//    // 抗锯齿能力 效率低了
//    painter.setRenderHint(QPainter::Antialiasing);
//    painter.drawEllipse(QPoint(200,100),50,50);
    // 高级设置
    painter.drawRect(QRect(20,20,50,50));
    // 移动画家
    painter.translate(QPoint(100,0));
    // 保存现在的启点状态
    painter.save();
    painter.drawRect(QRect(20,20,50,50));
    painter.translate(QPoint(0,100));
    // 取出状态
    painter.restore();
    painter.drawRect(QRect(20,30,50,50));

//    // 设置画笔颜色
//    QPen pen(QColor(255,80,0));
//    pen.setWidth(2);
//    pen.setStyle(Qt::DotLine);

//    // 画家用笔
//    painter.setPen(pen);
//    // 画刷填充颜色
//    QBrush brush(Qt::green);
//    brush.setStyle(Qt::FDiagPattern);
//    painter.setBrush(brush);

//    // 利用画家画画
//    painter.drawLine(QPoint(0,0),QPoint(100,100));
//    // 椭圆
//    painter.drawEllipse(QPoint(100,100),50,50);
//    // 画矩形

//    painter.drawRect(QRect(0,0,50,150));
//    // 画字
//    painter.drawText(QRect(0,0,100,200),"好好学习天天向上");
}

posted on 2021-05-19 09:25  lodger47  阅读(98)  评论(0)    收藏  举报

导航