以下代码可以实现鼠标控制窗口移动。大家可根据需要加入自己的项目中。
.h
bool mousePress;
QPoint point;
void mousePressEvent(QMouseEvent *);
void mouseMoveEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent*);
.cpp (类名要根据自己的修改)
void ConfigureWidget::mousePressEvent(QMouseEvent *e)
{
if(e->button() == Qt::LeftButton)
{
mousePress = true;
point = e->globalPos() - this->pos();
}
}
void ConfigureWidget::mouseReleaseEvent(QMouseEvent *e)
{
if(e->button() == Qt::LeftButton)
{
mousePress = false;
}
}
void ConfigureWidget::mouseMoveEvent(QMouseEvent *e)
{
if(mousePress)
{
QPoint p = e->globalPos();
this->move(p - point);
}
}