Я хочу, чтобы мое приложение tkinter получало записи в двух полях ввода, которые есть у меня при нажатии кнопки, но по какой-то причине программа всегда застревает в команде wait_variable (), даже когда кнопка нажата. Почему мой код делает это? При каждом нажатии кнопки должна выводиться информация о том, что пользователь вводил в два поля ввода.
from tkinter import *
import random
class Thing:
def __init__(self):
self.master = Tk(className='Chess Engine')
self.canvas = Canvas(self.master, width=200, height=200)
self.canvas.pack(side='top')
def button_it(self):
self.canvas.delete("all")
d = Entry(self.master)
d.pack(side='bottom')
p = Entry(self.master)
p.pack(side='bottom')
self.var = IntVar()
print("here is var: ", self.var.get())
def do():
self.var.set(random.randint(0, 99999))
button = Button(master = self.master, text = 'Submit move', font = ('Helvetica', 20), command = do)
button.pack(side='bottom')
print("waiting for user input...", self.var.get())
button.wait_variable(self.var)
print("done waiting.")
origin = p.get().strip()
destination = d.get().strip()
print(origin, destination)
self.master.mainloop()
if __name__ == '__main__':
a=Thing()
while True:
a.button_it()