如题
我用下面的代码实现,可是不理想,会出现闪烁现象
子类QPushButton
#include "Button.h"
#include <QMouseEvent>
Button::Button(QWidget *parent)
:QPushButton(parent)
{
isMove = false;
}
void Button::mousePressEvent(QMouseEvent *)
{
isMove = true;
}
void Button::mouseMoveEvent(QMouseEvent *e)
{
if(isMove)
{
this->move(e->pos());
e->accept();
}
}
void Button::mouseReleaseEvent(QMouseEvent *)
{
isMove = false;
}
看到文档中写 Calling move() or setGeometry() inside moveEvent() can lead to infinite recursion
觉得我这就是发生递归调用了