#python #tkinter #tkinter-layout
Вопрос:
Я хочу, чтобы это выглядело так:
поэтому я сделал это:
seats = ['F11', 'F12', 'F13', 'F14', 'F21', 'F22', 'F23', 'F24', 'B31', 'B32', 'B33', 'B34',
'B41', 'B42', 'B43', 'B44', 'B51', 'B52', 'B53', 'B54', 'E61', 'E62', 'E63', 'E64',
'E71', 'E72', 'E73', 'E74', 'E81', 'E82', 'E83', 'E84', 'E91', 'E92', 'E93', 'E94']
for i in seats:
if i[2] == "3" or i[2] == "4":
Label(root, text="").grid(row=int(i[1]),column=3, columnspan=12)
Button(root, text=i).grid(row=int(i[1]), column=int(i[2]) 10)
else:
Button(root, text=i).grid(row=int(i[1]), column=int(i[2]))
что дает мне это:
Мне не хватает горизонтальных пробелов, есть ли способ включить его?
Комментарии:
1. Является ли ваша попытка получить одеяла пустой этикеткой?
2. используйте фрейм и установите для него
padx
иpady
некоторое значение, затем упакуйте соответствующие виджеты в этот фрейм
Ответ №1:
Я бы создал шесть рамок, по одной для каждой группы кнопок. Затем вы можете использовать grid
эти шесть кадров для размещения с таким количеством отступов между каждой группой, как вам нравится. Затем в каждом кадре вы можете разместить кнопки так, как хотите.
Другой вариант-просто добавить пустую строку между каждой группой. Вы можете оставить строку пустой , но задать ей минимальный размер rowconfigure
, или вы можете поместить в нее рамку той же высоты, что и количество пустого пространства, которое вы хотите.
Комментарии:
1. Я устал добавлять кнопки внутри самих рамок, но вместо этого он помещает кнопки в мэйнфрейм даже после указания места их размещения.
2. родительский кадр не учитывается, и вместо этого сетка