Vindicar, еще раз ОГРОМНОЕ спасибо!
конечно, нужно использовать root.after() так как это не угнетает другие процессы, в отличие от root.update_idletasks()
только, как я понял нужно писать root.after(1, one_iteration) а не root.after(0, one_iteration)
в общем вот, работающий код, еще раз спасибо!
from tkinter import *
from random import *
x = 0
def calc(event):
global x
root.after(1, one_iteration)
def one_iteration():
global x
x = randrange (1,100,1)
print("x=",x)
canv.delete("canvtext")
canv.create_text(50, 50, font=("Verdana", 20), text=str(x), anchor=CENTER, tags=('canvtext'))
if x != 5:
root.after(1, one_iteration)
root = Tk()
root.geometry('640x480+400+90')
but = Button(root, text='Рассчитать', width=10, height=3, font=("arial", 12))
canv = Canvas(root, bg="lightgray", height=100, width=100, highlightthickness=0)
canv.create_text(50, 50, font=("arial", 20), text=str(0), anchor=CENTER, tags=('canvtext'))
but.pack()
canv.pack()
but.bind("<Button-1>", calc)
root.mainloop()
конечно, нужно использовать root.after() так как это не угнетает другие процессы, в отличие от root.update_idletasks()
только, как я понял нужно писать root.after(1, one_iteration) а не root.after(0, one_iteration)
в общем вот, работающий код, еще раз спасибо!