我的应用程序具有以下结构:
|-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"))
使用Qt Designer资源系统为图像创建资源文件。
然后使用PyQt的pyrcc工具将Qt资源文件转换为python模块。
注意:python资源模块应与ui文件位于同一目录中。因此,如果您App/resources.qrc在Qt Designer中创建了资源文件,则应按以下方式进行转换:
App/resources.qrc
pyrcc4 -o App/ui/resources_rc.py App/resources.qrc
PS:
PySide的等效工具是pyside-rcc。
pyside-rcc