Заполнение области действия окна gtk.Dialog с помощью кнопок - вместо их выравнивания по правому краю - PullRequest
1 голос
/ 08 июля 2011

Используя PyGTK, я создаю кучу кнопок в области действия gtk.Dialog, используя метод add_button(), как показано ниже:

self.replace_all_button = self.add_button(_("Replace All"), 
            gtk.RESPONSE_ACCEPT)

В появившемся диалоговом окне все кнопки выровнены вправо, как показано на следующем рисунке:

gtk.Dialog with action buttons aligned to the right

Однако я хочу заполнить область действия кнопками, как на этом рисунке:

enter image description here

Я попробовал несколько любопытных стратегий, таких как переопределение параметров упаковки всех виджетов из области действия, как видно из кода ниже, но это не сработало.

def redefine_packing(widget):
    _, _, padding, _ = self.action_area.query_child_packing(widget)
    self.action_area.set_child_packing(widget, True, True, padding, _)

self.action_area.foreach(redefine_packing)

Как я мог это сделать? (Решение не нужно писать на Python, если я могу интуитивно перевести его с исходного языка, что я обычно могу сделать)

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Возможно, вы могли бы заменить hbuttonbox в диалоговом окне обычным hbox, а затем упростить управление упаковкой.

0 голосов
/ 10 июля 2011

Моя проблема была «решена», когда я обнаружил, что ищу несуществующую проблему.

Я пытаюсь скопировать внешний вид окна поиска и замены Gedit. Затем я запустил Gedit, используя локаль "C", и диалог поиска и замены выглядел так:

Search and replace dialog with labels in English

Итак, диалог, который я пытаюсь скопировать, похож на диалог, который у меня есть. Оригинальный диалог, на который я смотрел, казался другим только потому, что его ярлыки были на другом языке и были больше.

...