Python 在txb4中显示文本;反复地画画布

Python 在txb4中显示文本;反复地画画布,python,python-3.x,canvas,tkinter,Python,Python 3.x,Canvas,Tkinter,我试图使用tkinter,以便在所有其他窗口前面显示一个弹出窗口,通过画布上显示的文本提醒我一些事情。我希望在一段时间内弹出窗口,如5秒,然后在其他时间消失。我需要在循环中重复这个。当我尝试这样做时,会出现一个窗口,但没有文本和指定的尺寸。代码如下: from tkinter import * from time import sleep as s for i in range(5): root = Tk() root.lift() root.attributes

我试图使用tkinter,以便在所有其他窗口前面显示一个弹出窗口,通过画布上显示的文本提醒我一些事情。我希望在一段时间内弹出窗口,如5秒,然后在其他时间消失。我需要在循环中重复这个。当我尝试这样做时,会出现一个窗口,但没有文本和指定的尺寸。代码如下:

from tkinter import *
from time import sleep as s


for i in range(5):

    root = Tk()

    root.lift()
    root.attributes('-topmost',True)
    canvas = Canvas(root,width=700,height=100)
    canvas.pack()
    canvas.create_text(350,50,text='Registrar rabia'+str(i),font= 
    ('fixedsys','25'))
    print('Hola')
    s(1)
    root.destroy()
    s(1)
还有,有没有更像蟒蛇的方法呢

编辑:

它不起作用。我只需要一条信息和一个按钮,在上面的代码中,
python显示6条消息和6个按钮。。。我还需要在两次出现之间设置一个延迟,但我不明白在这种特殊情况下如何使用after方法

在GUI程序中使用
time.sleep
不是一个好主意,因为它冻结了所有内容,因此GUI无法正常工作。而且,像这样重新创建和销毁Tk解释器也不是很有效。查看顶级小部件。你为什么一遍又一遍地创建和破坏窗口?创建一次窗口,然后隐藏并显示它。@BryanOakley:我试图将它与“root.draw()”函数一起使用,但问题是如何在下一次迭代中再次显示它
root.deiconify()
@BryanOakley我在问题编辑部分的代码中使用它,但给出了相同的行为
from tkinter import *

root = Tk()

for _ in range(6):
    #root.deiconify()
    root.attributes('-topmost',True)
    root.title("About this application...")
    about_message = 'Este es el mensaje'
    msg = Message(root, text=about_message)
    msg.pack()

    button = Button(root, text="Dismiss", command=root.withdraw)

    button.pack()
    root.after(1000)