效果如图所示:
创建新类MovablePoint,继承自QWidget.
MovablePoint头文件:
#ifndef MOVABLEPOINT_H
#define MOVABLEPOINT_H
#include <QWidget>
#include <QPainter>
#include <QPaintEvent>
#include <QStyleOption>
#include <QMouseEvent>
class MovablePoint : public QWidget
{
Q_OBJECT
public:
explicit MovablePoint(QWidget *parent = nullptr);
public:
int radius;
bool mouse_pressed;
QPoint pressed_pos;
QPoint previous_pos;
QPoint current_pos;
protected:
void paintEvent(QPaintEvent*);
void mousePressEvent(QMouseEvent*);
void mouseReleaseEvent(QMouseEvent*);
void mouseMoveEvent(QMouseEvent*);
};
#endif // MOVABLEPOINT_H
MovablePoint.cpp:
#include "movablepoint.h"
MovablePoint::MovablePoint(QWidget *pa