使用 pyinstaller 或 fbs 冻结应用程序会更改 pyside2 应用程序的默认配色方案

Posted

技术标签:

【中文标题】使用 pyinstaller 或 fbs 冻结应用程序会更改 pyside2 应用程序的默认配色方案【英文标题】:Freezing app with pyinstaller or fbs changes default color scheme of pyside2 app 【发布时间】:2019-07-24 02:18:06 【问题描述】:

MacOS PySide2 5.12.3

我使用 fbs 和 pyside2 构建了一个 GUI。发出fbs run 时一切正常,但是当我冻结应用程序fbs freeze 并启动目标/dist 版本时,应用程序的配色方案是相反的。

我通过fbs-tutorial 应用程序确认了这一点。它做同样的事情。一开始是深色的配色方案,但冻结后,配色方案是浅色的。

我专门为其设置了 css 颜色的任何文本或元素都不会受到影响。

我正在运行 fbs 尚未正式支持的 python 3.7,所以我尝试仅使用 pyinstaller 来冻结应用程序。它做同样的事情。

有什么建议吗?

更新: 我决定安装 python 3.6 并从那里运行教程应用程序。现在,默认配色方案似乎是浅色版本。因此,无论我运行的是工作应用程序还是冻结应用程序,它们都是轻主题。只有在切换到 python 3.7 时(其他一切都相同),默认配色方案才会变为深色。为什么 python 版本会影响 PySide2 应用程序的默认配色方案?

【问题讨论】:

Enable native MacOS Mojave Dark Theme PySide2/Python apps on QT 5.12的可能重复 【参考方案1】:

我的答案是this。

基本上,在 MacOS 上,我必须将一个 Info.plist 文件与我的应用程序捆绑在一起,该文件具有以下条目:

    <key>NSRequiresAquaSystemAppearance</key>
    <string>False</string>

【讨论】:

当我对应用程序的 plist 文件进行此更改时,它实际上变暗了!但不幸的是,所有小部件也都消失了,只剩下一个空白窗口......有什么想法吗?

以上是关于使用 pyinstaller 或 fbs 冻结应用程序会更改 pyside2 应用程序的默认配色方案的主要内容,如果未能解决你的问题,请参考以下文章

Python PyInstaller 打包成 WinMac 应用程序(app / exe)

pyinstaller - 冻结应用程序时 QtWebEngineWidgets 抛出 dll 错误

SDL2 错误:使用 pyinstaller 冻结 kivy 应用程序时“无法加载图像 <default.png>”

冻结后使用 QProcess 运行 Python 脚本

使用 Pyinstaller 冻结 Python 程序时摆脱控制台输出

如何编译使用 sqlalchemy 的 pyqt 脚本?