使用 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>”