- 设置窗口无边框并始终保持在所有其他窗口的顶部
this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
2.创建变量存储位置
QPoint m_dragPosition;
3.对鼠标左键按下和移动事件做处理
void mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
m_dragPosition = event->globalPos() - frameGeometry().topLeft();
raise();
event->accept();
}
}
void mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton)
{
move(event->globalPos() - m_dragPosition);
event->accept();
}
}
推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt