2014-09-04 37 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