GTK3 Python 更改单个按钮颜色
如何在Python中使用GTK3改变单个按钮的颜色?我有两个Gtk.Button按钮。我想把第二个按钮的颜色改成蓝色。
2 个回答
3
一般来说,人们不希望一个程序去覆盖他们的桌面主题。无论如何,我觉得在Gtk3+之前是有可能做到的,但我不太确定。也许可以通过使用css来实现。
这就是我能给你提供的最接近的答案。
from gi.repository import Gtk, Gdk
def button_clicked(button):
print("Button has been clicked!")
window=Gtk.Window()
button=Gtk.Button(label="Button")
button.connect("clicked", button_clicked)
color = Gdk.color_parse('#234fdb')
button.modify_bg(Gtk.StateType.PRELIGHT, color)
window.add(button)
window.show_all()
Gtk.main()
或者
from gi.repository import Gtk, Gdk
def button_clicked(button):
print("Button has been clicked!")
window=Gtk.Window()
button=Gtk.Button(label="Button")
button.connect("clicked", button_clicked)
window.add(button)
window.show_all()
colorh="#0000FF"
color=Gdk.RGBA()
color.parse(colorh)
color.to_string()
button.override_background_color(Gtk.StateFlags.NORMAL, color)
Gtk.main()
0
这应该可以通过CSS来实现,试试这个链接,里面有一个很好的例子,讲述了如何将Python的GTK和CSS结合在一起使用。
http://wolfvollprecht.de/blog/gtk-python-and-css-are-an-awesome-combo/