python tkinter не работает код

При нажатии левой кнопки мыши текст из entry должен выводиться в label.

Код запускается, но не работает функция нажатия.

from tkinter import Tk, Canvas, Entry, Label

window = Tk()
window.title('text')
window.geometry('300x305')

text = ""

label = Label(text="text", fg="yellow", bg="#400080", font="Arial 12", width='100')
entry = Entry(width=100, textvariable=text)

def dec(event):  
    label.config(text=text, fg="blue")

window.bind('<Button-1>', dec)

label.pack()
entry.pack(padx=15, pady=30)
window.mainloop()

Ответы (1 шт):

Автор решения: Spatz

Параметр textvariable не работает с простыми переменнымы - сюда нужно передать экземпляр объекта StringVar. Прочитать текущее значение этой переменной можно методом get():

from tkinter import Tk, StringVar, Entry, Label

window = Tk()
window.title('text')
window.geometry('300x305')

text = StringVar()

label = Label(text="text", fg="yellow", bg="#400080", font="Arial 12", width='100')
entry = Entry(width=100, textvariable=text)


def dec(event):
    label.config(text=text.get(), fg="blue")


window.bind('<Button-1>', dec)

label.pack()
entry.pack(padx=15, pady=30)
window.mainloop()

ссылка на документацию

→ Ссылка