python – 获取当前gtk样式的颜色
作者:互联网
我使用PyGTK,我想得到一个小部件的颜色(例如bg颜色),我运行这样的代码:
gdkColorToRgb = lambda gc: (gc.red//257, gc.green//257, gc.blue//257)
widget = gtk.HBox() ## for example
style = widget.get_style()
for i in range(5):
print i, gdkColorToRgb(style.bg[i])
但它没有给出我当前gtk主题(样式)的颜色.它似乎是默认的gtk主题(我当前的主题是黑暗的,而这段代码给出了浅色)
我使用ArchLinux和PyGTK 2.24.0(GTK 2.24.5)
解决方法:
我偶然发现了同样的问题,看到了你的问题并找到了解决方案:你必须等到小部件实现,例如像这样:
def print_style(widget):
style = widget.get_style()
for i in range(5):
print i, gdkColorToRgb(style.bg[i])
gdkColorToRgb = lambda gc: (gc.red//257, gc.green//257, gc.blue//257)
widget = gtk.HBox() ## for example
widget.connect('realize', print_style)
标签:python,colors,themes,gtk2,pygtk 来源: https://codeday.me/bug/20191008/1874669.html