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

3

我知道这个问题在这个论坛上已经被问了很多次,但是当我使用cx_Freeze将我的PyQt应用程序打包成可执行文件时,我真的无法让我的应用程序图标有效工作。

我已经将Qt图像插件(qico4.dll,qjpeg4.dll等)复制到appdir/imageformats和appdir中。我也将qt.conf复制到这些目录中。改变了路径,但没有什么效果。这是在某个话题中建议的。

我尝试了多种方式设置setup.py文件中的icon选项,也尝试了不使用该文件进行设置。

我试图使用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个回答

1
应用程序图标并不是Qt管理的——它嵌入到exe文件中以供操作系统读取。 请检查在您运行setup.py的同一文件夹中是否存在icon_64x64.ico,并且它是有效的ico文件。为了比较,这里 有一个可以使用图标的setup.py。

谢谢你的回答。在做了那些事情之后,我终于意识到问题所在...图标一直在工作,只是我没有意识到应用程序图标与我的主窗口图标不同...好吧,活着就要学习,我想 =) - eonhelm
链接已失效。您还有那个示例吗? - Saren Tasciyan
更新了链接。Mercurial仓库必须转换为git。 - Thomas K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接