程序
绘图
.h
#ifndef DRAWWIDGET_H
#define DRAWWIDGET_H
#include <QWidget>
#include <QMouseEvent>
class DrawWidget : public QWidget
{
Q_OBJECT
public:
explicit DrawWidget(QWidget *parent = nullptr);
void mousePressEvent(QMouseEvent*);
void mouseMoveEvent(QMouseEvent*);
void paintEvent(QPaintEvent*);
void resizeEvent(QResizeEvent*);
signals:
public slots:
void setStyle(int);
void setWidth(int);
void setColor(QColor);
void clear();
private:
QPixmap *pix;
QPoint startpos;
QPoint endpos;
int style;
int weight;
QColor color;
};
#endif
.cpp
#include "drawwidget.h"
#include <QPen>
#include <QPainter>
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 *e)
{
startpos=e->pos();
}
void DrawWidget::mouseMoveEvent(QMouseEvent * e)
{
QPainter *painter = new QPainter