PyQt6没有pyrcc如何提供资源?

问题描述

documentation for PyQt6 声明

已取消对 Qt 资源系统的支持(即没有 pyrcc6)。

有鉴于此,应该如何为 PyQt6 应用程序提供资源?

解决方法

PyQt 邮件列表上已经有 some discussion 发现这一点。

维护者不再对维护 pyrcc 感兴趣,因为他认为考虑到 python 已经使用了多个文件,他认为它不会提供任何主要好处。

最简单的解决方案可能是使用 QDir setSearchPaths()addSearchPath() 的静态方法。

不同之处在于资源将使用用于上述方法的前缀加载。

考虑到之前的情况:

=IF(LEFT(TRIM(F2),1)="-",-1,1)*S2

现在会变成这样:

Range("T2:T" & lastRow).FormulaR1C1="=IF(LEFT(TRIM(RC6),1)=""-"",1)*RC[-1]"
,

共识似乎是应该使用现有的 python 工具而不是 pyrrc。因此,资源将直接存储在文件系统中(可能在存档文件中),然后使用 importlib.resources(python >= 3.7)或 pkg_resources 或第三方解决方案(如 { {3}}。这究竟如何映射到 pyrcc 的现有用途可能是特定于应用程序的,因此需要进行一些实验才能找到最佳方法。

有关如何使用这些设施的更多详细信息,请参阅: