PyQt6迁移报错:QImage类型对象不存在Format_RGB888属性
PyQt6 QImage 枚举访问报错解决方案
报错根因
PyQt6 对所有Qt内置枚举的访问规则做了统一调整,同组枚举值会收拢到对应嵌套枚举类下,不再直接挂载在父类下,和PyQt5、C版Qt的调用规则存在差异。你查阅的官方QImage文档为C版本接口定义,和PyQt6的Python端实现有适配差异。
修复方案
所有Format_*开头的QImage格式枚举,都需要增加中间层.Format访问:
- PyQt5 旧写法:
QImage.Format_RGB888 - PyQt6 新写法:
QImage.Format.Format_RGB888
迁移注意事项
该枚举访问规则为PyQt6通用规则,所有Qt类的枚举都遵循该逻辑,比如原Qt.AlignLeft在PyQt6中需要调整为Qt.AlignmentFlag.AlignLeft,可避免后续迁移遇到同类报错。
内容的提问来源于stack exchange,提问作者F.R.D
相关产品推荐
相关产品推荐

