删除gtk.button的边框

时间:2010-05-17 02:45:13

标签: python gtk

我想删除gtk.button的边框,但我不知道该怎么做。

我尝试过:

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

但我有一个错误:该属性不存在。 我也尝试创建一个新的gtk.Style并将其用于按钮,但同样的错误。

有人有想法吗?

由于

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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 

答案 2 :(得分:1)

简短版本:

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()