2017-11-05 5 views
0

Gtk.Box()이 있고 위젯에만 특정 CSS를 추가해야합니다. 상자에 CustomBox이라는 다이나믹 클래스가 있고 setBackgroundColor(self, strRgbColor)과 같은 기능을 가지고 있다면 각 기능에서 해당 위젯에 대한 CSS 만 수정하면됩니다.Hosto는 pygtk3의 특정 위젯에 특정 CSS를 설정 했습니까?

예 :

box1 = CustomBox() 
box1.setPadding(10,10,0,0) 

box2 = CustomBox() 
box2.setBackgroundColor('#ff0000') 

특정 CSS를 각 위젯이 필요합니다.

Y는 있습니다

self.id이 ( id(self) 포함)의 고유 ID이지만, 어떻게 box에 css_provider을 설정
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() 
# ... ?? 

?

답변