PyQt5转PyQt6调用Qt枚举触发AttributeError问题咨询
PyQt6 调用无边框窗口标志的正确方法
错误原因
PyQt6 重构了原PyQt5的枚举结构,原本直接挂载在Qt根下的窗口类扁平枚举,全部被收归到Qt.WindowType枚举命名空间下,所以你之前的两种写法都找不到对应属性。
正确写法
self.setWindowFlags(Qt.WindowType.FramelessWindowHint)
如果需要组合多个窗口标志,直接用位或运算符|拼接多个Qt.WindowType下的枚举值即可,示例:
# 同时设置无边框 + 窗口始终在底部 self.setWindowFlags(Qt.WindowType.FramelessWindowHint | Qt.WindowType.WindowStaysOnBottomHint)
简化调用方案
如果觉得每次写Qt.WindowType过于繁琐,可以提前给枚举类设置别名:
from PyQt6.QtCore import Qt # 定义别名 WindowType = Qt.WindowType # 后续调用简化为 self.setWindowFlags(WindowType.FramelessWindowHint)
内容的提问来源于stack exchange,提问作者Giorgio
相关产品推荐
相关产品推荐

