记录一下,需要的时候直接抄
z 是定义的QPoint成员变量
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QMouseEvent>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->setWindowFlags(Qt::FramelessWindowHint);、、无边框
}
MainWindow::~MainWindow()
{
delete ui;
}
、、重写三个函数达到拖动效果
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
QWidget::mouseMoveEvent(event);
QPoint y = event->globalPos();
QPoint x = y-this->z;
this->move(x);
}
void MainWindow::mousePressEvent(QMouseEvent *event)
{
QWidget::mousePressEvent(event);
QPoint y = event->globalPos();
QPoint x = this->geometry().topLeft();
this->z = y-x;
}
void MainWindow::mouseReleaseEvent(QMouseEvent *event)
{
QWidget::mouseReleaseEvent(event);
this->z = QPoint();
}