最近在写关于鼠标的mouseTracking 时 发现之前对不规则窗体的移动有些问题 于是重新对窗体的移动代码整理优化
先将功能函数添加如下 方便大家可以直接调用
cpp文件里添加如下
—————————————我是华丽的分界线————————————————
void MainWindow::mouseMoveEvent(QMouseEvent *e)
{
if (e->buttons() & Qt::LeftButton) {
QPoint newpos = e->globalPos();
QPoint upleft = pos0 + newpos - last;
move(upleft);
}
}
void MainWindow::mousePressEvent(QMouseEvent *e)
{
if (e->button() == Qt::LeftButton) {
last = e->globalPos();
pos0 = e->globalPos() - e->pos();
}
}
.h中添加如下
—————————————我是华丽的分界线————————————————
public:
QPoint last,pos0;//窗口移动处理
protected:
void changeEvent(QEvent *e);
void mouseMoveEvent(QMouseEvent *);
void mousePressEvent(QMouseEvent *);
#include "QMouseEvent"