2014-09-04 102 views
1

我想爲具有單個DrawingArea小部件的pyGtk窗口設置背景顏色。 有了這個代碼,我總是得到一個隨機的顏色,每次我啓動腳本:如何設置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 2015-06-30 03:44:24