使用Pyinstaller打包 - PyQt5 setStyle被忽略

6
我遇到了一个类似的问题,就像这里描述的一样,在更新了Python、PyInstaller、PyQt5和PyQt5工具后。之前,当我运行编译后的独立可执行文件时,我得到了期望的"Windows Vista-style",而不需要app.setStyle('windowsvista')
现在,我得到了Windows "Classic-style"。如果我在PyCharm中启动应用程序,它将使用所需的"Windows Vista-style"
当前安装在Win7 64位系统上的版本为:
Python:3.6.4
PyInstaller:3.3.1
PyQt5:5.10 pyqt5-tools:5.9.0.1.2(升级到5.9.1.1无法正常工作
有人知道为什么PyInstaller忽略了样式吗?

我有类似的问题。到目前为止还没有解决方案... - Devligue
1个回答

6

这个错误似乎已经在PyInstaller的一个未合并的分支中得到了修复。更多信息可以在GitHub pull request conversation中找到,但是在Mac上使用pip install https://github.com/bjones1/pyinstaller/archive/pyqt5_fix.zip重新安装PyInstaller可以为我解决相同的样式问题。


非常感谢!该修复程序在 macOS 和 Windows 下均有效。完美! - HMside
很高兴能帮到你!如果这个答案对你有用,你可以将其标记为已接受,以向其他观众展示解决方案。谢谢! - Aidan Wolk
4
如果您在寻找答案时发现链接已损坏,解决方法已经合并到上游,但是新版本尚未发布。现在可以使用以下命令:pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip。请直接参照此内容进行操作,无需其他解释。 - Ronan Paixão
对于那些即使更新了pyinstaller仍然遇到问题的人:我通过以下pyinstaller开关从Qt插件目录中携带dll文件,成功修复了难看的界面:--add-binary="%CONDA_PREFIX%\Library\plugins\styles;styles" --add-binary="%CONDA_PREFIX%\Library\plugins\platformthemes;platformthemes" --add-binary="%CONDA_PREFIX%\Library\plugins\platforms;platforms"。我相信它们默认不被携带,因为它们是插件(="可选项"?)。 环境:conda 4.7.12,python 3.7.4,Pyinstaller 3.5,Pyside2 5.13.1 - TimeS

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