拥有Gtk.Box()
并且只需要向窗口小部件添加特定的css。有一个名为CustomBox
的Box的dinamic类,并且具有setBackgroundColor(self, strRgbColor)
之类的函数,每个函数中都需要为该小部件修改css。
示例:
box1 = CustomBox()
box1.setPadding(10,10,0,0)
box2 = CustomBox()
box2.setBackgroundColor('#ff0000')
需要具有特定css的每个小部件。
你有:self.id = 'box_' + str(id(self))
box = Gtk.Box()
box.set_name(self.id)
# ...
css_provider = Gtk.CssProvider()
css_provider.load_from_data(('#' + self.id + '{ border: 1px solid red; }').encode())
context = Gtk.StyleContext()
# ... ??
self.id
是唯一ID(id(self)
),但是如何将css_provider设置为box
?
答案 0 :(得分:1)
使用context.add_provider()
仅影响窗口小部件本身(不是其子窗口或任何其他窗口小部件)或Gtk.StyleContext.add_provider_for_screen()
来影响程序中所有已创建的窗口小部件。