pyside + py2exe,用户加载的图像不显示

2 投票
1 回答
1623 浏览
提问于 2025-04-17 10:48

我有一个用pyside写的应用程序,用户可以通过拖放或者对话框加载一张图片,然后图片的名字和缩略图会显示在一个QTreeWidget里。当我在Eclipse里正常运行时,一切都很好。但是当我用py2exe打包项目时,图片就不显示了。我猜可能是因为py2exe找不到pyside用到的图片库。我对pyside和py2exe了解得不够,不太确定这是不是实际的问题。在搜索了一些资料后,我发现很多人也遇到过无法显示应用程序中包含的图片(图标)的问题,而这个我已经解决了(编辑 - 这些是png文件,所以在我在py2exe步骤中打包了图片后,它们才显示出来)。

我使用QPixMap来加载缩略图到一个QIcon里。然后我把这个图标添加到一个QTreeWidgetItem中。

icon = QIcon()
icon.addPixmap(QPixmap(url),QIcon.Normal,QIcon.Off)
item = QTreeWidgetItem([...])
item.setIcon(0,icon)

1 个回答

1

我猜你可能在用jpeg格式的图片,而不是png格式。png格式的图片可以直接使用,但jpeg格式的图片需要一个图片插件,才能正确地打包进你的exe文件里。

如何在py2exe编译的Python脚本中启用QImage的JPEG支持?

撰写回答