(1)pro文件中加入
QT += gui
(2)h文件的类中加入头文件:
#include <QMouseEvent>
类中加入函数和变量声明:
protected:
void mouseMoveEvent(QMouseEvent* event);
void mousePressEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event);
private:
QPoint mLastMousePosition;
bool mMoving;
(3)cpp文件中加入鼠标事件相关函数的定义
void MainWindow::mousePressEvent(QMouseEvent* event)
{
if(event->button() == Qt::LeftButton)
{
mMoving = true;
mLastMousePosition = event->globalPos();
}
}
void MainWindow::mouseMoveEvent(QMouseEvent* event)
{
if( event->buttons().testFlag(Qt::LeftButton) && mMoving)
{
this->move(this->pos() + (event->globalPos() - mLastMousePosition));
mLastMousePosition = event->globalPos();
}
}
void MainWindow::mouseReleaseEvent(QMouseEvent* event)
{
if(event->button() == Qt::LeftButton)
{
mMoving = false;
}
}
转载自https://blog.youkuaiyun.com/qq_28093585/article/details/78483019