2009-09-05 84 views
0

我想删除gtk.Button上的边框,并将其大小设置为固定。我怎么能做到这一点? 我的按钮看起来像这样:删除gtk.Button上的内部边框

 
b = gtk.Button() 
b.set_relief(gtk.RELIEF_NONE) 

谢谢! p.d:我正在使用pygtk

回答

2

您可以使用gtk.Widget.set_size_request为小部件设置固定大小。请注意,这通常是一个坏主意,因为用户可能需要比您的计划更大的字体大小等。

至于删除边框,gtk.Button通常会占用比您希望的更多的空间。您可以尝试将某些样式属性(例如“inner-border”)设置为0,并查看是否获得了您想要的结果。如果你需要尽可能小的按钮,你应该在gtk.EventBox里面使用gtk.Label,并处理点击事件框。这将使用最少量的像素。

-1

我不认为EventBox可以发送像“激活”和“点击”按钮事件。

+0

是的,你可以!实际上我最终使用这个替代方案来解决我的内部边界问题。要添加点击事件,您必须使用: eventboxobject.connect(“button-press-event”,callback_function) – Lucia 2009-10-08 17:05:38

+0

“Button press”是一个事件。我特别说“按钮事件”。 “点击”,如果我没有弄错,是一个Button专属事件,而“按钮按下”很常见。你确认每个按钮相关的事件也是由EventBox实现吗? 有没有几个程序避免使用Button美学,失去了Button小部件的好处,例如,接收“点击”事件而不是“按下按钮”。如果这能解决你的问题,那很好。但请注意这个细节。 – dividebyzero 2010-07-17 16:50:26