sae*_*gnu 4 python themes pygtk colors gtk2
我使用 PyGTK,我想获取小部件的颜色(例如背景颜色),我运行这样的代码:
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])
Run Code Online (Sandbox Code Playgroud)
但它没有给出我当前的 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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1603 次 |
| 最近记录: |