我有客观的C代码来检测暗模式以更改状态栏:
[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(darkModeChanged:) name:@"AppleInterfaceThemeChangedNotification" object:nil];
同样,我们如何才能在python中做同样的事情?
答案 0 :(得分:1)
我不知道你是否可以直接在python中做到这一点。但至少你可以调用终端命令defaults read -g AppleInterfaceStyle
。
目前它的行为是这样的:如果它的退出代码是0,它会报告"黑暗模式"。如果是1(错误),则可以采用浅色模式。在我看来,这并不是很干净,但它可以正常使用并Java program成功使用。
如何从python中生成一个新进程是一个不同的问题,已经是answered。
答案 1 :(得分:1)
在想要检测模式的任何地方(暗模式或亮模式)中尝试以下这些行。
center = NSDistributedNotificationCenter.defaultCenter()
center.addObserver_selector_name_object_(self,"enableDarkMode",'AppleInterfaceThemeChangedNotification',None)
答案 2 :(得分:0)
在python os
模块中,可以方便地检测模式。
基本上,我们使用python来访问并运行终端命令以在默认设置中找到AppleInterfaceStyle
属性。
import os
has_interface = os.popen("defaults find AppleInterfaceStyle").read()
if not has_interface:
print("Use a light Style")
else:
interface_system = os.popen("defaults read -g AppleInterfaceStyle").read()
print("Interface Style:" + interface_system) # interface_system = 'Dark\n'