Как установить цвет фона окна pygtk

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

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() устанавливает случайный цвет?

Другие вопросы по тегам