2009-09-05 83 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