感谢与 musicamante 的一些讨论,我对发生的事情有了更好的了解:
Qt Designer 的更改发生在几个版本之前(以及 Creator 使用其元素的部分),它为所有枚举引入了完整的命名空间,以便使其完全符合 Python (IIRC) 中的相同方面。最新的 PyQt 版本应该能够处理这个问题,所以问题可能是 QGIS 没有正确更新的 pyuic。
在 qgis 的 python 控制台中打印
QT_VERSION_STR
显示 5.15.10,所以此时它已有几年历史了。
无需降级版本的最简单解决方案(flatpak 使这有点困难)是使用 VSCode 的查找文本功能和
(Q\w+?)::\w+?::(\w+)
并将其替换为 $1::$2
。我的 ui 文件很小,因此很容易验证替换是否正确。