You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQt6如何设置窗口Flags?调用QtCore.Qt.Window报属性错误如何解决?

报错原因与修复方案

1. 枚举属性错误的原因

你使用的是PyQt6版本,该版本对Qt枚举体系做了重构,原PyQt5中直接挂载在QtCore.Qt下的窗口类型枚举,全部迁移到了QtCore.Qt.WindowType子枚举类下,所以QtCore.Qt.Window、QtCore.Qt.CustomizeWindowHint这类旧写法会触发属性不存在的错误。

2. 调用对象错误

要实现主窗口始终置顶的效果,应该给**主窗口对象MainWindow**设置窗口标志,而不是给它的子部件中心控件centralwidget设置,给子部件设置窗口标志无法作用于主窗口。

修复代码

找到你代码中标注的错误行,直接删除该行,替换为如下代码即可:

# 保留窗口原有属性的基础上追加始终置顶标记,不会破坏默认的标题栏、缩放等功能
MainWindow.setWindowFlags(MainWindow.windowFlags() | QtCore.Qt.WindowType.WindowStaysOnTopHint)

如果你确实需要自定义窗口样式,可以加上对应的枚举:

MainWindow.setWindowFlags(QtCore.Qt.WindowType.Window | QtCore.Qt.WindowType.CustomizeWindowHint | QtCore.Qt.WindowType.WindowStaysOnTopHint)

内容的提问来源于stack exchange,提问作者David Carter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 18:09:04