widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPoint> //点
#include <QMouseEvent> //鼠标事件
#include <QPaintEvent> //绘图事件
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
void mousePressEvent(QMouseEvent *event); //鼠标按下事件
void mouseMoveEvent(QMouseEvent *event); //鼠标移动事件
void mouseReleaseEvent(QMouseEvent *event); //鼠标松开事件
void paintEvent(QPaintEvent *event); //绘图事件
private:
bool toSave;
QPoint pStart,pEnd; //起点和终点
QPixmap *px; //缓冲的画布
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include <QPainter> //画家
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
setFixedSize(800,600);
px = new QPixmap(this->width(),this->height()); //与主窗口大小一致
px->fill(); //不填充
}
Widget::~Widget()
{
}
void Widge