我试图创建一个按钮,是红色,而不是默认的颜色。我是通过一个CssProvider()应用样式,但按钮的颜色不变。我做错什么了?
以下是代码:
from gi.repository import Gtk, Gdk
CSS = """
GtkButton {
background-color: red;
}
"""
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Theme")
self.resize(640, 480)
self.connect("delete-event", Gtk.main_quit)
cssprovider = Gtk.CssProvider()
cssprovider.load_from_data(CSS)
screen = Gdk.Screen.get_default()
sc = Gtk.StyleContext()
sc.add_provider_for_screen(screen, cssprovider,
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
btn = Gtk.Button(label="Click")
self.add(btn)
win = MyWindow()
win.show_all()
Gtk.main()发布于 2014-06-27 22:58:14
问题是背景图像优先于背景颜色,前者很可能已经设置在主题中(按钮梯度)。您可以使用“背景”属性或使用“背景颜色”和未设置的“背景图像”强制完全替换背景:
GtkButton {
background: red;
}或者:
GtkButton {
background-image: none;
background-color: red;
}https://stackoverflow.com/questions/24456782
复制相似问题