2010-05-17 107 views
1

我想刪除gtk.button的邊框,但我不知道該怎麼做。刪除gtk.button的邊框

我試着用:

button = gtk.Button() 
button.set_style("inner-border",0) 

,但我有一個錯誤:屬性不存在。 我也試着創建一個新的gtk.Style,並將它用於按鈕,但同樣的錯誤。

任何人有想法?

感謝

回答

2

設置按鈕的relief屬性:

button.props.relief = gtk.RELIEF_NONE 

全部測試程序:

import gtk 

window = gtk.Window() 
box = gtk.VButtonBox() 

for k in range (10): 
    button = gtk.Button ('button %d' % k) 
    if k % 2 == 0: 
     button.props.relief = gtk.RELIEF_NONE 

    box.add (button) 

window.add (box) 
window.show_all() 

gtk.main() 

如果這不適合你,那麼你的GTK +的主題不支持RELIEF_NONE

+0

我試過了,但它不工作,我仍然有緩解。 – spanctus 2010-05-17 16:16:36

+0

@spanctus:在編輯中查看測試程序。 – doublep 2010-05-17 16:56:56

+0

好的,非常感謝! – spanctus 2010-05-17 17:37:46

1
label_box = Gtk::HBox.new(false, 0) 
label = Gtk::Label.new('Page1') 
label_box.pack_start(label, false, false, 0) 

btn = Gtk::Button.new 
btn.relief = Gtk::RELIEF_NONE 
btn.focus_on_click = false 
style = btn.modifier_style 
style.xthickness = 0 
style.ythickness = 0 
btn.modify_style(style) 
btn.set_tooltip_text("Close page1") 
wim,him = Gtk::IconSize.lookup(Gtk::IconSize::MENU) 
btn.set_size_request(wim+2,him+2) 
btn.signal_connect('clicked') do 
    $notebook.remove_page($notebook.children.index(treeview)) 
    store.clear 
    label_box.destroy 
    treeview.destroy 
end 

image = Gtk::Image.new(Gtk::Stock::CLOSE, Gtk::IconSize::MENU) 
btn.add(image) 

align = Gtk::Alignment.new(1.0, 0.0, 0.0, 0.0) 
align.add(btn) 
label_box.pack_start(align, false, false, 0) 

label_box.spacing = 3 
label_box.show_all 

page = $notebook.append_page(treeview, label_box) 
treeview.show_all 
$notebook.page = $notebook.n_pages-1 
0

短版:

import gtk 
window = gtk.Dialog() 
button = gtk.Button('Click Me') 
button.props.relief = gtk.RELIEF_NONE 
window.vbox.pack_start(button) 
window.show_all() 
window.run()