我到处寻找,但似乎找不到改变边框颜色的方法。 例如,我需要一个这样的按钮:
gb = gtk.Button("Hi")
gb.set_border_width(50)
现在我希望将边框涂上红色(这是一个不存在的调用):
gb.set_border_color('red')
我尝试了gb.modify_bg(...)但它只改变了按钮的背景,而不是它周围的BORDER。我可以获得的壁橱是将这个GtkButton添加到GtkFrame中,并使用框架的阴影颜色。但是阴影框的宽度是固定的 - 它比我想要的厚度还要薄。
我很直观,如果你可以改变边框的宽度,你应该可以在它上面设置更多的样式。我愿意采用其他方法来实现相同的粗色边框效果,例如将按钮放在一些大的彩色背景上?
感谢您的帮助。
答案 0 :(得分:5)
AFAIR,gtk.Button边界处理依赖于引擎。如果您不想搞乱样式,可以创建gtk.EventBox,设置其背景颜色,打包按钮,然后将按钮周围的空白空间设置为所需的值:
button = gtk.Button("Click me")
button.set_border_width(50)
eb = gtk.EventBox()
eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("pink"))
eb.add(button)