Как получить значение из поля ввода и вставить его в текстовое поле - PullRequest
0 голосов
/ 17 марта 2020

Привет и доброе утро всем. Кажется, что текстовый виджет в tkinter не имеет атрибута textvariable, такого как Label, Entry et c, и альтернативный подход - использование «insert» и кнопки. Но есть ли способ получить значение из одного поля ввода и вставить (вернуть) его в виджет Текст без кнопки. Спасибо

from tkinter import *

root = Tk()

text_value = StringVar()
value = Entry(root)
value.pack()

text_rep_trans = StringVar()
rep_trans = Text(root)
rep_trans.pack()

def set_label(name, index, mode):
    ret_value = text_value.get()
    if ret_value == '':
        pass
    else:
        rep_trans.insert(END, ret_value)


text_rep_trans.trace('w', set_label)
text_value.trace('w', set_label)
text_rep_trans.set(' ')
text_value.set(' ')

root.mainloop()

1 Ответ

0 голосов
/ 17 марта 2020

Вы можете использовать root .after (,)
Вот простой код.

from tkinter import *
root = Tk()
def main():
    global text
    text = e.get()
    l = Label(root , text = text).grid(row = 1 , column = 0)
    root.after(1 , main)
e = Entry(root)
e.grid(row = 0 , column = 0)
root.after(1 , main)
text=""
l = Label(root , text = text).grid(row = 1 , column = 0)
mainloop()
...