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

1

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

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

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

Изображение 174551

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

Изображение 174551

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

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, если я могу интуитивно перевести его с исходного языка, что я обычно могу сделать)

Теги:
dialog
gtk
pygtk

2 ответа

0
Лучший ответ

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

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

Изображение 174551

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

1

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

  • 0
    Как показывает мой собственный ответ, проблема, которую я пытался решить, была не в том, что я искал. ОТО Я нашел очень полезным знать, что область действия - это не просто gtk.HBox, а gtk.HButtonBox , который был классом, о котором я даже не подозревал. Спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню