一尘不染

如何使用Python(pyqt)正确加载图像?

python

我的应用程序具有以下结构:

|-App
|
|-functions
|
|-ui
|--ui.py
|    
|images
|
|main.py

我有一个包含一些脚本的功能文件夹,以及一个在ui.py文件上包含PyQt生成的代码的ui文件夹。

还有一个main.py文件,该文件加载ui.py以显示界面,并且ui.py从根目录的“ images”文件夹中加载一些图像。

如果我直接在python上执行脚本(main.py文件中为double clic),则图像不会显示。

但是,如果将终端与“ python main.py”一起使用,则图像可以正确显示。

ui.py上的引用类似于:

icon.addPixmap(QtGui.QPixmap(_fromUtf8("images/flags/MXN.png"))

阅读 274

收藏
2021-01-20

共1个答案

一尘不染

使用Qt Designer资源系统为图像创建资源文件。

然后使用PyQt的pyrcc工具将Qt资源文件转换为python模块。

注意:python资源模块应与ui文件位于同一目录中。因此,如果您App/resources.qrc在Qt
Designer中创建了资源文件,则应按以下方式进行转换:

pyrcc4 -o App/ui/resources_rc.py App/resources.qrc

PS:

PySide的等效工具是pyside-rcc

2021-01-20