为了账号安全,请及时绑定邮箱和手机立即绑定

从python检测macos中的暗模式

从python检测macos中的暗模式

RISEBY 2021-11-09 16:27:01
我正在编写一个 PyQt 应用程序,我必须添加一个补丁,以便字体在启用暗模式的 macos 上可读:app = QApplication([])# Fix for the font colours on macos when running dark modeif sys.platform == 'darwin':    p = app.palette()    p.setColor(QPalette.Base, QColor(101, 101, 101))    p.setColor(QPalette.ButtonText, QColor(231, 231, 231))    app.setPalette(p)main_window = MainWindow()main_window.show()app.exec_()这个补丁的问题是它使得在 macos 上使用 light 模式无法读取内容。有没有办法可以从 python 或通过子进程使用标准 shell 命令检测 macos 上的暗模式?编辑:从 PyQt 5.12 开始,不再需要暗模式修复。
查看完整描述

2 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

如果您不想导入 pyobjc,您可以使用Darkdetect,这是一个专用包,仅使用标准 Python 发行版提供的依赖项。


用法:


import darkdetect


>>> darkdetect.theme()

'Dark'


>>> darkdetect.isDark()

True


>>> darkdetect.isLight()

False

Darkdetect 也可在 PyPI 上使用:pip install darkdetect.



查看完整回答
反对 回复 2021-11-09
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

基于此问题,您可以安装pyobjc和使用NSUserDefaults:


>>> from Foundation import NSUserDefaults

>>> NSUserDefaults.standardUserDefaults().stringForKey_('AppleInterfaceStyle')

'Dark'


查看完整回答
反对 回复 2021-11-09
  • 2 回答
  • 0 关注
  • 126 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信