我向HBox添加一个按钮,展开等于False,但我希望按钮的标签和边框之间有更多的间距。我认为它是“内部边界”属性,但它是只读的。我怎样才能将它设置为4PX?Gtk按钮内边框
Gtk按钮内边框
回答
gtk.Label是gtk.Misc的子类,它有set_padding方法。如果你从gtk.Button获得标签,那么你可以在它上面调用set_padding。
你可以这样做:
label = gtk.Label("Hello World")
button = gtk.Button()
/* Add 10 pixels border around the label */
label.set_padding(10, 10)
/* Add the label to the button */
button.add(label)
/* Show the label as the button will assume it is already shown */
label.show()
我有时只是在标签中添加空格!
gtk.Button(" Label ")
得到一些间距。
希望这可以帮助你。
嘿,它的工作原理,但它是不是一个真正的“合法”的方式。没有一个合适的方法来实现这一点? – Marin
来吧,这是一个丑陋的解决方法... – liberforce
你可以使用gtk按钮的“inner-border”样式属性。
这里,小代码片段
In gtkrc file:
style "button_style"
{
GtkButton::inner-border = {10,10,10,10}
}
class "GtkButton" style "button_style"
In .py file:
gtk.rc_parse(rc_file_path + rc_file)
[编辑]
在gtkrc文件:
style "button_style"
{
GtkButton::inner-border = {10,10,10,10}
}
widget "*.StyleButton" style "button_style" # apply style for specific name of widget
In .py file:
gtk.rc_parse(rc_file_path + rc_file)
#set name of button
self.style_button.set_name('StyleButton')
希望,这将是有益的。
错误答案:
什么你正在寻找被称为“填充”。当您将按钮添加到容器时,例如通过调用gtk.Box.pack_start,只需将padding
参数设置为正整数。
更新:
我似乎误解了问题。在这种情况下,我的猜测是你应该使用gtk_widget_modify_style,因为inner-border
是一个样式属性。通过调用gtk_widget_get_modifier_style,您将首先获得所需的样式修改器。然后,您只能使用ressource styles matching rules修改该按钮的样式。
问题是按钮的内部边框,而不是填充。 – Marin
我已经修复了我的答案(但是您需要从C改为Python),请重新考虑它... – liberforce
- 1. 边框内的按钮
- 2. WPF按钮内部边框
- 3. Android按钮边框
- 4. HTML按钮边框
- 5. Android - 按钮边框
- 6. 使用CSS的边框内的按钮
- 7. 按钮内边距
- 8. Android按钮边框颜色
- 9. 重置按钮边框
- 10. 边框透明按钮
- 11. Android按钮边框阴影
- 12. Xamarin按钮边框问题
- 13. 删除按钮的边框
- 14. Android按钮边框动态
- 15. 按钮边框和背景
- 16. GridBagLayout多个按钮+边框
- 17. Python按钮图像边框
- 18. 按钮类型边框
- 19. IE css按钮外边框
- 20. Windows phone 7按钮“边框”
- 21. Materialisecss按钮边框样式?
- 22. 按钮边框造型旁边的按钮背景
- 23. 在Gtk绘图区域的Gtk按钮
- 24. 修改几个GTK按钮
- 25. GTK和CSS:圆形按钮
- 26. PHP GTK按钮点击
- 27. GTK的解散按钮
- 28. GTK + CSS的一个按钮
- 29. div边框重叠按钮边框,如何反转呢?
- 30. GTK:表明按钮应该按下
谢谢,就是这样! :) py代码,如果有人需要它:some_btn.get_children()[0] .set_padding(10,10) – Marin