去掉gtk.button的边框
我想去掉gtk.button的边框,但我不知道该怎么做。
我试过这个:
button = gtk.Button()
button.set_style("inner-border",0)
但是我遇到了一个错误:这个属性不存在。我也试着创建一个新的gtk.Style来给按钮使用,但结果还是同样的错误。
有没有人知道该怎么解决?
谢谢!
3 个回答
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()
1
在编程中,我们常常会遇到一些问题,特别是在使用某些工具或库的时候。比如,有时候我们想要实现一个功能,但发现文档写得不够清楚,或者代码示例不太适合我们的需求。这时候,我们就需要在网上寻找帮助,比如在StackOverflow这样的平台上提问。
在提问时,最好能把自己的问题描述得清楚明了,包括你遇到的具体情况、你尝试过的解决办法,以及你希望达到的目标。这样,其他人才能更好地理解你的问题,并给出有效的建议。
另外,查看别人提问和回答的问题也是一个很好的学习方式。通过阅读这些内容,我们可以了解到不同的解决方案和思路,这对我们提升编程能力非常有帮助。
总之,遇到问题时,不要害怕寻求帮助,记得把问题描述清楚,积极参与讨论,这样才能更快地找到解决方案。
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
设置按钮的 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
。