Как выровнять столбцы с несколькими кнопками Tkinter? - PullRequest
1 голос
/ 28 марта 2012

Я пытаюсь поместить шестнадцать кнопок в рамку, помещая их в четыре столбца, например:

c1 = Tkinter.Checkbutton(group.interior(), text = 'Name', indicatoron= 1, variable = self.Checkvar_nr, command=cb)
    c1.(row = 0, column = 0)

и т. Д. До:

c16.(row = 3, column = 3)

Все хорошо, кроме вертикального выравнивания столбцов из-за различий в длине используемого текста. Как выровнять то по горизонтали?

Ответы [ 2 ]

3 голосов
/ 28 марта 2012

Я не совсем понимаю проблему, поскольку столбцы должны быть выровнены по вертикали, поскольку это сетка.Я думаю, что вы говорите, что элементы в каждом столбце не выровнены по границе столбца.Попробуйте использовать sticky='w' при добавлении каждой кнопки в сетку.Это заставит их «прилипать» к левому краю столбца.

1 голос
/ 28 марта 2012

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

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

Иногда это можно сделать путем ручного редактированиятекстовая строка (менее предпочтительно).В других случаях вы можете использовать table подобную структуру (например, HTML).В других случаях вы можете использовать рамку с определенными атрибутами ширины и высоты.Эти кадры затем помещаются внутри столбцов в качестве элементов.

Примечание: я давно не играл с Tk.Я иду по памяти.Удачи!

(править :) Исходя из памяти, столбцы будут регулировать свою ширину в зависимости от содержимого.Если в первом столбце несколько меток из трех символов, а во втором - пять символов, ширина этих двух столбцов будет разной.(Примечание. Это будет зависеть от диспетчера компоновки.) Если для рассматриваемого диспетчера компоновки существует параметр «фиксированная ширина», то он должен сохранять одинаковую ширину всех столбцов.

С менеджерами компоновки, которые переставляютпри измерениях, основанных на контенте (HTML, CSS и т. д.), иногда необходимо поместить контент в «неподвижные» контейнеры.Обычно это кадры.Рамки работают как ограничивающие рамки.Этот подход работает, когда элемент, который должен иметь ширину и высоту, не имеет этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...