Gtk Button внутренняя граница - PullRequest
       36

Gtk Button внутренняя граница

0 голосов
/ 22 сентября 2011

Я добавляю кнопку в HBox с расширением, равным False, но я хочу, чтобы кнопка имела больший интервал между ее меткой и границей.Я предполагаю, что это свойство "inner-border", но оно доступно только для чтения.Как я могу установить, например, 4px?

Ответы [ 4 ]

2 голосов
/ 23 сентября 2011

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 голос
/ 22 сентября 2011

Неправильный ответ:

То, что вы ищете, называется "padding" . Когда вы добавляете свою кнопку в контейнер, например, вызывая gtk.Box.pack_start , просто установите для параметра padding положительное целое число.

Обновление:

Кажется, я неправильно понял вопрос. В этом случае я предполагаю, что вы должны использовать gtk_widget_modify_style , так как inner-border является свойством стиля. Сначала вы получите нужный вам модификатор стиля, вызвав gtk_widget_get_modifier_style . После этого вы сможете изменить стиль только для этой кнопки, используя правила соответствия стилей ресурсов .

0 голосов
/ 22 сентября 2011

вы можете использовать свойство стиля "inner-border" кнопки 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')

надеюсь, это было бы полезно.

0 голосов
/ 22 сентября 2011

Иногда я просто добавляю пробелы в метку!

gtk.Button("  Label  ")

, чтобы получить интервал.

Надеюсь, это поможет вам.

...