Gtk Button内边框

时间:2011-09-22 07:40:56

标签: gtk widget pygtk

我向HBox添加一个按钮,展开等于False,但我希望按钮的标签和边框之间有更多的间距。我认为它是“内部边界”属性,但它是只读的。如何将其设置为例如4PX?

4 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

错误回答:

您要找的是“padding”。当您将按钮添加到容器时,例如通过调用gtk.Box.pack_start,只需将padding参数设置为正整数。

<强>更新

似乎我误解了这个问题。在这种情况下,我的猜测是你应该使用gtk_widget_modify_style,因为inner-border是一个样式属性。您将首先通过调用gtk_widget_get_modifier_style获取所需的样式修饰符。然后,您就可以使用ressource styles matching rules修改该按钮的样式。

答案 2 :(得分:0)

我有时只在标签中添加空格!

gtk.Button("  Label  ")

得到一些间距。

希望这可以帮到你。

答案 3 :(得分:0)

你可以使用gtk按钮的“内部边框”样式属性。

这里是小代码片段

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')
希望,这会有所帮助。