.h
protected: //标题栏的拖拽
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
QPoint last;
.cpp
//标题栏的拖拽,鼠标不在标题栏范围内无效
void mousePressEvent(QMouseEvent *event)
{
if(ui->widget->rect().contains(event->pos())){
last = event->globalPos();
}
}
void mouseMoveEvent(QMouseEvent *event)
{
if(ui->widget->rect().contains(event->pos())){
int dx = event->globalX()-last.x();
int dy = event->globalY()-last.y();
last = event->globalPos();
move(x()+dx,y()+dy);
}
}
void mouseReleaseEvent(QMouseEvent *event)
{
if(ui->widget->rect().contains(event->pos())){
int dx = event->globalX()-last.x();
int dy = event->globalY()-last.y();
last = event->globalPos();
move(x()+dx,y()+dy);
}
}