#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
QPainter QPixmap使用
最新推荐文章于 2024-08-28 10:08:00 发布
本文详细介绍了Qt库中的QPainter和QPixmap类,包括它们的基本概念、使用方法及常见应用场景。通过实例展示了如何使用QPainter进行图形绘制,并结合QPixmap处理图像。内容涵盖初始化设置、画布操作、图像加载与显示等关键步骤,是Qt图形界面开发的重要参考。
摘要由CSDN通过智能技术生成