Я указал конфигурацию столбца, поэтому в левой части указано 6, затем один столбец имеет значение 1 в качестве разделителя, а затем с правой стороны (клавиатура) ширина равна 3.
Насколько я понимаю, левая сторона должна быть в два раза больше правой. А на экране нет. У хатов похожая проблема. Для всех строк установлено значение rowconfigure=1, но на экране они имеют разную высоту.
Что я делаю неправильно?
Минимальная часть моей программы, чтобы показать проблему:
Код: Выделить всё
#!/usr/bin/env python3
# -*- coding: utf8 -*-
from tkinter import *
#***************************************************************************************************
root = Tk()
root.geometry("1024x600")
tab3=Frame(root,relief=SUNKEN, bd=5 )
tab3.pack(fill=BOTH, expand=True)
#specify column widths
Colwidths=[6, 6, 6, 1, 3, 3, 3]
gui1=[
[["Double\nline txt",1,1], ["Double\nline txt",1,1], ["Double\nline txt",1,1], ["",1,1], ["1",1,1], ["2",1,1], ["3",1,1]],
[["145.0",1,1], ["133.7",1,1], ["133.1",1,1], ["",1,1], ["4",1,1], ["5",1,1], ["6",1,1]],
[["Double\nline txt",1,1], ["TwoCel\ndblLine",1,2], ["TwoCel\ndblLine",1,2], ["",1,1], ["7",1,1], ["8",1,1], ["9",1,1]],
[["20.5",1,1], ["",1,1], ["",1,1], ["",1,1], ["X",1,1], ["0",1,1], ["OK️",1,1]]
]
for i,v in enumerate(Colwidths): tab3.columnconfigure(i, weight=v)
for y,line in enumerate(gui1):
tab3.rowconfigure(y, weight=1) #all rows are same height
for x, (txt,cs,rs) in enumerate(line):
if txt!="":
itm=Label(tab3,text=txt, bd=1, relief=SUNKEN, font=("Arial", 30, "bold"),bg='khaki')
itm.grid(row=y,column=x, columnspan=cs,rowspan=rs, sticky=NSEW)
root.mainloop()

< /p>
Я подумал, что шрифт слишком большой и не помещается в ячейку. Поэтому я удалил стикер, попробовал еще раз и получил вот это:

чтобы вокруг каждого элемента было видно пространство, поэтому с размером не должно быть проблем.
Подробнее здесь: https://stackoverflow.com/questions/789 ... consistent