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()