0

如果我的问题无法理解,我很抱歉。 无论如何,我有这个代码:

from tkinter import *
root = Tk()
root.title("My Window")

# Adding a text widget thing.
text = Text(root, foreground='black', background='white', font=("Consolas", 16))
text.pack(expand=1, fill=BOTH)

# a while true loop.
while True:
    text.delete(1.0, END)
    text.insert(END, "This is a text in a loop")

# Calling the Python tkinter's mainloop.
root.mainloop()

每次我尝试运行上面的代码时,它都不会显示窗口,而是在while True循环中运行代码。

所以主要问题是,有没有办法让 Python 显示窗口(我的意思是执行代码root.mainloop(),然后执行while True循环的代码?

任何帮助或答案将不胜感激!
谢谢!

4

1 回答 1

1

您应该尽量避免这种情况,但您可以使用递归循环。

创建一个名为“myloop”的函数并重复它,就像这样,然后在 mainloop 之前调用它:

def myloop():
   <code>
   root.after(1, myloop) #repeats the function again 1 1000th of a second after it finishes


#----- down by where you're calling mainloop-----


root.after(1, myloop)
root.mainloop() 
于 2021-07-13T13:53:33.437 回答