Qt 技巧:去除对话框边框 + 设置窗口可移动和透明
1、去除对话框标题栏和边框
在构造函数里设置:
this->setWindowFlags(Qt::FramelessWindowHint);
Qt::Dialog (按照对话框的形式创建窗口--帮助/关闭)
Qt::Window (按照正常窗口的形式创建窗口--最大化/最小化/关闭)
this->setWindowFlags(Qt::FramelessWindowHint);
Qt::Dialog (按照对话框的形式创建窗口--帮助/关闭)
Qt::Window (按照正常窗口的形式创建窗口--最大化/最小化/关闭)
2、窗口可移动
去除边框会造成窗口不可移动,可以通过以下方法来解决:
自定义鼠标按下事件和鼠标移动事件:
void yourwindow::mousePressEvent(QMouseEvent *event)
{
this->windowPos = this->pos(); // 获得部件当前位置
this->mousePos = event->globalPos(); // 获得鼠标位置
this->dPos = mousePos - windowPos; // 移动后部件所在的位置
}
void yourwindow::mouseMoveEvent(QMouseEvent *event)
{
this->move(event->globalPos() - this->dPos);
}
3、设置窗口透明
在构造函数中添加:
this->setAttribute(Qt::WA_TranslucentBackground);
http://blog.csdn.net/jan5_reyn/article/details/38955695
分类:
Qt-Widget
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix