使用cx_Freeze构建时,图标未显示在PyQt应用程序exe中

时间:2013-02-27 16:55:50

标签: image icons pyqt cx-freeze

我知道在这个论坛中已经多次询问过这个问题,但是当我使用cx_Freeze将PyQt应用程序构建到一个正在运行的exe文件中时,我真的无法使用我的应用程序图标。

我已将Qt图像插件(qico4.dll,qjpeg4.dll等)复制到appdir / imageformats以及appdir中。我也将qt.conf复制到了那些dirs。改变了它的路径,没有。在某些主题中提出了这一点。

我尝试使用setup.py文件以及没有它的方式设置icon-option。

我尝试使用qt designer创建资源文件并进行转换。我尝试使用qt designer将图标设置为我的主窗口。仍然没有。

这是我的setup.py脚本:

import sys

from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

executables = [
    Executable(
        "main.py",
        base = base,
        icon = "icon_64x64.ico",
        appendScriptToExe = True,
        appendScriptToLibrary = False,
        targetName = "MyApp.exe")
]

buildOptions = dict(
    create_shared_zip = False)

setup(
    name = "MyApp",
    version = "1.0",
    options = dict(build_exe = buildOptions),
    executables = executables)

1 个答案:

答案 0 :(得分:1)

应用程序图标不是Qt管理的东西 - 它嵌入到exe文件中供操作系统阅读。

检查icon_64x64.ico所在的文件夹中是否存在setup.py,并且该文件是有效的ico文件。为了进行比较,here's一个与图标一起使用的setup.py。