如何移除Qt应用窗口角落的调整大小图标?
解决Qt窗口已设固定大小但仍显示调整选项的问题
我制作了一个Qt应用程序,已通过setFixedSize禁用窗口调整大小功能,同时设置了窗口标志,但窗口仍显示调整大小选项,截图如下:

当前使用的代码:
w.setWindowFlags(Qt::CustomizeWindowHint|Qt::WindowMinimizeButtonHint|Qt::WindowCloseButtonHint); w.setFixedSize(QSize(1080,740));
问题原因
仅设置Qt::CustomizeWindowHint和setFixedSize不足以完全移除Windows系统下的窗口调整边框——该标志仅允许自定义窗口元素,但未明确禁用调整大小的相关系统样式。
解决方法
跨平台通用方案
将窗口标志改为基于Qt::Window基础类型,仅保留需要的最小化和关闭按钮:
w.setWindowFlags(Qt::Window | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint); w.setFixedSize(1080, 740);
Windows平台专属优化
如果需要彻底隐藏调整边框,可添加Windows特有的固定大小对话框标志:
w.setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowCloseButtonHint | Qt::MSWindowsFixedSizeDialogHint); w.setFixedSize(QSize(1080,740));
Qt::MSWindowsFixedSizeDialogHint会强制窗口以固定大小对话框样式显示,直接移除调整大小的边框和系统菜单中的调整选项。
内容的提问来源于stack exchange,提问作者Shaiful Islam
相关产品推荐
相关产品推荐

