PYQT资源,冻结程序
Posted
技术标签:
【中文标题】PYQT资源,冻结程序【英文标题】:PYQT resources, frozen programs 【发布时间】:2013-05-29 22:57:54 【问题描述】:Windows 上 PyQT/resources/cx_freeze 的问题/疑问:
我正在使用 QT 的资源系统来设置应用程序图标。 (位于 Windows 程序窗口的左上角)我在 Designer 中创建了资源,然后使用 pyrcc4 创建了一个 rc.py 文件。它在我的未编译程序上正常工作,但在使用 cx_freeze 编译脚本时无法显示(改为显示通用 Windows 程序图标)。请注意,我指的不是您单击以启动程序的图标——它不是由 QT 处理的,并且可以正常工作。有任何想法吗?这是我的 setup.py。
from sys import platform
from cx_Freeze import setup, Executable
import module_locator
_dir = module_locator.module_path()
base = None
if platform == "win32":
base = "Win32GUI"
setup(
name = "Plates",
version = "0.1",
description = "Downloads approach plates",
executables = [Executable(_dir + '\\plates.pyw',
base = base, icon = _dir + '\\icon.ico')],
)
我在构建程序时没有遇到任何错误。 library.zip 中确实存在我的 rc 文件(作为已编译的 python 文件)。
【问题讨论】:
Qt 需要插件来显示一些图像格式。查找名为“imageformats”的文件夹并将其复制到您的应用程序目录(exe 旁边)。 如果您作为答案发布,我会将其标记为解决方案。谢谢你。图像文件夹位于 (Windows) Python33\Lib\site-packages\PyQt4\plugins 中。按照您的描述将其复制到我的应用程序目录中。 【参考方案1】:作为答案转发:
Qt 需要插件来显示一些图像格式。查找名为“imageformats”的文件夹并将其复制到您的应用程序目录(exe 旁边)。
下一个版本的 cx_Freeze 应该会在您使用 QtGui 时自动查找和复制图像格式。
【讨论】:
以上是关于PYQT资源,冻结程序的主要内容,如果未能解决你的问题,请参考以下文章
在 PyQt5 中通过命令行调用外部程序时,有没有办法阻止 GUI 冻结?