Tkinter config () не обновляет метку, пока l oop, когда используется msvcrt.getwch () - PullRequest
0 голосов
/ 18 июня 2020

Я новичок в python Tkinter и обнаружил здесь проблему. Я пытаюсь получить ввод от пользователя, не нажимая клавишу ввода, и хочу использовать ввод как обновленный label2. Однако я получаю обновленную метку только при выполнении while l oop fini sh (отображается только последний ввод). Не могли бы вы помочь мне узнать, в чем я ошибаюсь?

import tkinter as tk
import msvcrt

root= tk.Tk()
myCanvas = tk.Canvas(root, width = 500, height = 200)
myCanvas.pack()

def do_printing():
    count=1
    while (count>0):
        print('Count before= ',count)
        while 1:
            input1 = msvcrt.getwch()
            count=count+1
            break
        label2 = tk.Label(root, font=('Arial', 20))
        label2.config(text=input1)
        myCanvas.create_window(100, 50, window=label2)
        if count==7:
            break
    print('finished')

B1 = tk.Button(root, text ="Option 1", font=('Courier', 12), command= do_printing)
myCanvas.create_window(40, 30, window=B1)

root.mainloop()
...