一尘不染

Python-如何使用tkinter创建计时器?

python

我需要使用Python的tkinter库编写程序。

我的主要问题是我不知道如何创建计时器或类似 的时钟hh:mm:ss

我需要它来更新自身(这是我不知道该怎么做的)。


阅读 1590

收藏
2020-02-12

共1个答案

一尘不染

Tkinter根窗口具有一种称为的方法after,该方法可用于安排给定时间段后要调用的函数。如果该函数本身调用,则after您已设置了一个自动重复事件。

这是一个工作示例:

# for python 3.x use 'tkinter' rather than 'Tkinter'

import Tkinter as tk
import time

class App():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(text="")
        self.label.pack()
        self.update_clock()
        self.root.mainloop()

    def update_clock(self):
        now = time.strftime("%H:%M:%S")
        self.label.configure(text=now)
        self.root.after(1000, self.update_clock)

app=App()

请记住,after这不能保证该功能将完全按时运行。它仅计划在给定的时间后运行作业。由于Tkinter是单线程的,因此应用程序繁忙时,在调用之前可能会有延迟。延迟通常以微秒为单位。

2020-02-12