Проблема состоит в том, что эти две строки кода:
value = B.get()
printLabel = tkinter.Label(window, bg="white", font=FONT, textvariable=value)
Вы устанавливаете значение опции textvariable
для обычной переменной python.Это не сработает, это должна быть одна из специальных переменных tkinter.
Если все, что вы делаете, это отображаете значение внутри B
, вам не нужно ничего делать, кроме как установить textvariable
.Вам не нужно вызывать B.get()
или объявлять B
глобальным:
def printList():
printLabel = tkinter.Label(window, bg="white", font=FONT, textvariable=B)
printLabel.grid(row=1, column=1)
Если вы не хотите, чтобы они были связаны таким образом, вы можете получить значение B
и назначьте его атрибуту text
, а не textvariable
:
def printList():
value = B.get()
printLabel = tkinter.Label(window, bg="white", font=FONT, text=value)
printLabel.grid(row=1, column=1)