QPainter QPixmap使用

本文详细介绍了Qt库中的QPainter和QPixmap类,包括它们的基本概念、使用方法及常见应用场景。通过实例展示了如何使用QPainter进行图形绘制,并结合QPixmap处理图像。内容涵盖初始化设置、画布操作、图像加载与显示等关键步骤,是Qt图形界面开发的重要参考。
摘要由CSDN通过智能技术生成
#include "drawwidget.h"
#include<QtGui>
#include<QPen>
DrawWidget::DrawWidget(QWidget *parent) : QWidget(parent)
{
    setAutoFillBackground(true);
    setPalette(QPalette(Qt::white));
    pix=new QPixmap(size());
    pix->fill(Qt::white);
    setMinimumSize(600,400);
}

void DrawWidget::mousePressEvent(QMouseEvent *event)
{
    startPos=event->pos(); //鼠标当前点的位置
}

void DrawWidget::mouseMoveEvent(QMouseEvent *e)
{
    QPainter *painter=new QPainter;
    QPen pen;
    pen.setStyle((Qt::PenStyle)style);
    pen.setWidth(weight);
    pen.setColor(color);
    painter->begin(pix);
    painter->setPen(pen);
    painter->drawLine(startPos,e->pos()); //绘制开始点到移动点的位置
    painter->end();
    startPos=e->pos();
    update();


}

void DrawWidget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.drawPixmap(QPoint(0,0),*pix);
}

void DrawWidget::resizeEvent(QResizeEvent *event)
{
    i
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值