关于窗口移动的整理笔记

最近在写关于鼠标的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"

 

你可能感兴趣的:(关于窗口移动的整理笔记)