- 设置为无边框窗口
this->setWindowFlags(Qt::FramelessWindowHint); // 设置为无边框窗口
- 按下处理
void Borderless::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
mouseStartPosition = event->globalPos() - frameGeometry().topLeft();
mouseDragging = true; // 开启拖动状态
}
}
- 移动
void Borderless::mouseMoveEvent(QMouseEvent *event)
{
if (mouseDragging) {
// 移动窗口
move(event->globalPos() - mouseStartPosition);
}
}
- 松开
void Borderless::mouseReleaseEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
mouseDragging = false; // 关闭拖动状态
}
}
需要下载源码
添加链接描述