GTK:创建一个彩色普通按钮
我该怎么做呢?很多网站说我只需要在按钮上调用 .modify_bg() 就可以了,但这对我来说没什么用。我可以给按钮加一个事件框,然后在里面放一个标签,再改变它的颜色,但效果看起来很糟糕——按钮边缘有很多灰色的空白区域,这些地方的颜色没有变化。我只想要一个看起来像这样的效果:
(来源: kksou.com)
这个网站声称他们只是对按钮使用了 modify_bg(),但我试了之后没效果。=(
正确的解决方案可能涉及创建一个样式,或者用 gtkrc 文件之类的东西。有人能给我指个方向吗?
1 个回答
16
这里有一个简单的例子:
import gtk
win = gtk.Window()
win.connect("destroy", gtk.main_quit)
btn = gtk.Button("test")
#make a gdk.color for red
map = btn.get_colormap()
color = map.alloc_color("red")
#copy the current style and replace the background
style = btn.get_style().copy()
style.bg[gtk.STATE_NORMAL] = color
#set the button's style to the one you created
btn.set_style(style)
win.add(btn)
win.show_all()
gtk.main()