使用python在tkinter中停止程序一段时间

时间:2017-09-18 19:40:04

标签: python tkinter

我想知道我是否可以暂停我的python程序1秒 - 不使用常规python,使用Tkinter模块 - 我想在1秒后更改标签的名称。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您似乎想要在一秒钟后安排一个动作。 它与暂停程序有很大不同,实际上你不需要这样做。

tkinter.Widget.after方法几乎就是您正在寻找的方法。 它接受一个回调(即一个要调用的函数),以及一个延迟,之后应该调用前者。

所以你需要一个函数来设置标签的文本:

def set_text():
    label['text'] = "A new text"

然后,您将它作为第二个参数传递给根小部件的after方法,第一个参数是以毫秒为单位的延迟:

root.after(1000, set_text)

这将在一秒钟之后安排对set_text功能的调用。

这是一个完整的例子,展示了after方法的效果。 将显示包含Initial text的标签,一秒钟后,其文字将更改为A new text

import tkinter as tk

def set_text():
    label['text'] = "A new text"

root = tk.Tk()
label = tk.Label(root, text="Initial text")

label.pack()
root.after(1000, set_text)

root.mainloop()