为什么我们需要 qresource 文件?

Why do we need qresource files?

为什么 Qt 似乎需要 "resource files"?我的意思是你用 pyside2-rcc resources.qrc -o resources.py 编译的东西,例如。

文档似乎说它与访问路径有关,抽象的方式使得 Python 不会被跨平台应用程序中的差异绊倒。但是 IME,Python 可以很好地处理 Windows 上的 Linux/Unix-style 路径名,尤其是当您使用 pathlib 或 os.path.join() 或其他东西时。

我以前用DOS的时候,发现command.com的/有问题,但是可以二进制补丁command.com把cd改名成别的,并使用与 / 一起工作的 cd.exe 很好 - command.com 有问题,而不是底层的 OS.

https://doc.qt.io/qtforpython/overviews/resources.html好像说跟不丢文件有关系,有点奇怪

那么为什么 Qt 需要资源文件,我可以安全地跳过它们吗?

TL; DR;我们不是必须要用qresource,只是一个选项。


并不是Qt强制要求qresources,而是Qt的世界为我们提供了一个选项。也就是说,使用或不使用它们一般不会带来好处或伤害。

从 Qt/C++ 的角度来看,资源允许我们将资源嵌入到二进制文件中。这种抽象可能会避免目录系统路径出现问题。由于 PySide2 是一个 Qt 包装器,它也试图公开该工具。

正如您所指出的,有几个 python 库已经以通用方式处理路径,避免了 OS 之间的已知路由问题,因此您可以使用它。