2014-09-04 6 views
1

Я пытаюсь установить цвет фона для окна pyGtk, который имеет один виджет DrawingArea. С помощью этого кода я всегда получить случайный цвет каждый раз я запускаю сценарий:Как установить цвет фона окна pygtk

widget = gtk.DrawingArea() 
widget.show() 
window = gtk.Window() 
window.add(widget) 
col = gtk.gdk.Color('#010') 
window.present() 
widget.window.set_background(col) 
window.connect('delete-event', gtk.main_quit) 
gtk.main() 

Я также попытался с помощью widget.modify_bg(gtk.STATE_NORMAL, col) вместо set_background линии, и я всегда получаю черный фон.

Что мне не хватает?

ответ

1

Хорошо, похоже, я слишком много боролся с другими вещами, и я не понял, что установил цвет теста на # 010, который, очевидно, почти черный. Использование modify_bg работ, только не забудьте установить разумный цвет;)

Это рабочий код:

widget = gtk.DrawingArea() 
widget.show() 
window = gtk.Window() 
window.add(widget) 
col = gtk.gdk.Color('#0f0') 
window.present() 
widget.modify_bg(gtk.STATE_NORMAL, col) 
window.connect('delete-event', gtk.main_quit) 
gtk.main() 

Кстати, кто-нибудь знает, почему widget.window.set_background() устанавливает случайный цвет?

+0

Использование «import gi.repository» Мне пришлось использовать gtk.StateType.NORMAL вместо gtk.STATE_NORMAL – rocky

Смежные вопросы