我正在编写一个 PyQt 应用程序,我必须添加一个补丁,以便在启用暗模式的 Macos 上可以读取字体:
app = QApplication([])
# Fix for the font colours on macos when running dark mode
if 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 的浅色模式下无法读取内容。
有没有办法可以从 python 或通过子进程使用标准 shell 命令检测 macOS 上的暗模式?
编辑:
从 PyQt 5.12 开始,不再需要修复暗模式。
如果您不想导入 pyobjc,可以使用暗检测 https://github.com/albertosottile/darkdetect,一个专用包,仅使用标准 Python 发行版提供的依赖项。
Usage:
import darkdetect
>>> darkdetect.theme()
'Dark'
>>> darkdetect.isDark()
True
>>> darkdetect.isLight()
False
DarkDetect 也可在 PyPI 上使用:pip install darkdetect
.
免责声明:我是《DarkDetect》的作者。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)