使用PyQt资源系统时的问题

4 投票
1 回答
4970 浏览
提问于 2025-04-15 15:21

我正在尝试使用PyQt的资源系统,但看起来我完全不知道自己在做什么!我已经创建了应用程序和它的界面,现在只是想导入一些图片来用在程序里。

我用QtDesigner创建了资源文件,并通过pyrcc4.exe进行了编译。但是当我尝试导入这个资源文件时,出现了这个错误:

Traceback (most recent call last):
  File "C:\Projects\main.py", line 14, in <module>
    import main_rc
  File "C:\Projects\main_rc.py", line 482, in <module>
    qInitResources()
  File "C:\Projects\main_rc.py", line 477, in qInitResources
    QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
      TypeError: argument 2 of qRegisterResourceData() has an invalid type

我到底哪里出错了呢?

1 个回答

19

pyrcc 默认生成的是 Python 2.x 的代码。

你可以试着用 pyrcc 重新生成你的资源文件,记得加上 '-py3' 这个标志。

撰写回答