Qt在设计过程中,经常遇到无边框界面设计和鼠标拖拽移动,当点击自定义的“关闭”按钮时如何真正退出和实现窗口移动是一个常用的功能:
关于“关闭/退出”:
this->setWindowFlags(Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint); //不用Qt::SubWindow。
QPushButton *pb = new QPushButton(this);
pb->setText(tr("关闭"));
connect(pb,SIGNAL(clicked()),this,SLOT(close()));
关于“鼠标拖动”:
//QMoveTest.h
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);