从.qrc文件(使用pyside-rcc)编译的.py文件不起作用

时间:2014-03-19 14:08:51

标签: python image pyside qt-designer rcc

我正在处理python项目,我的.py文件中存在问题,该文件符合.qrc文件。首先,让我简要介绍一下我的项目。

我在QtDesigner中创建了我的项目GUI,并且还使用了GUI中的图像。然后,我使用pyside-uic从.ui文件生成.py,并使用pyside-rcc从.qrc文件生成.py文件。问题是当我使用.py文件(图像文件)时,图像不会显示在我的GUI中。

有人知道如何解决这个问题吗?

感谢您的所有答案。 :)

聚苯乙烯。我使用PySide作为我的GUI语言。

1 个答案:

答案 0 :(得分:7)

您是否真的将资源添加到GUI项目中?

从头开始,这是如何做到的:

在Qt Designer中,选择查看>资源浏览器。然后,在资源浏览器中,单击“编辑资源”按钮。从那里,您可以创建新的资源文件,也可以打开现有文件。重要的是资源文件必须能够使用相对路径访问资源(例如图像文件)。这意味着它们必须与资源文件或其子目录位于同一目录中。

创建资源文件后,使用右侧窗格下方的按钮添加前缀(例如“images”),然后添加图像(或其他),最后单击“确定”。

现在,当您想要为标签添加像素图时,只需确保从新资源中选择图像,而不是磁盘上的文件。

最后一步是使用pyside-uic重新生成GUI模块,并使用pyside-rcc生成资源模块。执行此操作时,请确保资源模块在GUI模块的同一目录中保存为“resource_rc.py”:

    pyside-uic -o widget.py widget.ui
    pyside-rcc -o resource_rc.py resource.qrc

(PS:如果您在项目中使用包,则应使用--from-imports选项和pyside-uic来获取相对导入。