效果演示
实现步骤
思路:
创建DragPushButton类继承自QPushButton,重写mousePressEvent和mouseMoveEvent方法。
1. dragpushbutton.h文件
#ifndef DRAGPUSHBUTTON_H
#define DRAGPUSHBUTTON_H
#include
#include
#include
#include
class DragPushButton : public QPushButton
{
Q_OBJECT
public:
explicit DragPushButton(QWidget *parent = nullptr);
protected:
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
private:
QPoint pressPoint;
};
#endif // DRAGPUSHBUTTON_H
2. dragpushbutton.cpp文件
#pragma execution_character_set("utf-8")
#include "dragpushbutton.h"
DragPushButton::DragPushButton(QWidget *parent) : QPushButton(parent){}
void DragP