Qt 默认的窗口会有系统自带的边框 如图
但是在大多数情况下 系统自带的边框是不需要的 去掉边框很简单 在建立窗口时 加入如下一个函数
w.setWindowFlags(Qt::FramelessWindowHint);
这样 边框就被去掉了 但是问题又出来了 不能移动了
因为边框被去掉 系统默认是无法移动的 于是 我们需要一个解决方案
判断鼠标的操作 就被应用到移动里来了
代码 如下:
void Dialog::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
m_Drag = true;
m_DragPosition = event->globalPos() - this->pos();
event->accept();
}
}
void Dialog::mouseMoveEvent(QMouseEvent *event)
{
if (m

本文介绍了如何在Qt中创建无边框且可移动的圆角窗口。通过去除默认边框并自定义鼠标操作实现窗口移动,同时提供画圆角边框的代码,为界面设计提供了更多自由度。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



