【发布时间】:2014-06-28 11:19:35
【问题描述】:
我正在尝试创建一个红色而不是默认颜色的按钮。我通过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()
【问题讨论】:
-
这可能是一个错误。将 CSS 更改为“背景:红色”为我解决了这个问题。在其他小部件上,背景和背景颜色似乎都可以工作。