当前位置: 首页 > 面试题库 >

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

陈毅
2023-03-14
问题内容

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

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

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


问题答案:

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是单线程的,因此应用程序繁忙时,在调用之前可能会有延迟。延迟通常以微秒为单位。



 类似资料:
  • 问题内容: 我正在使用Python 3.3和tkinter制作用于行人逃生模拟的GUI界面。 我已经编写了两个模拟程序,它们运行良好。但是,当尝试从主应用程序调用它们时,我陷入了困境。我希望模拟窗口出现在单独的窗口中(创建主窗口的子窗口)。 如何使用tkinter从主应用程序启动子窗口? 问题答案: 您可以通过创建的实例来创建子窗口。有关更多信息,请参见http://effbot.org/tkin

  • 问题内容: 如何强制Tkinter应用程序窗口中的列具有相等的宽度? tkdocs网站的状态如下: 每列的宽度(或每行的高度)取决于列或行中包含的小部件的宽度或高度。这意味着在草绘用户界面并将其划分为行和列时,您无需担心每个列或行的宽度[或大概高度]相等。 http://www.tkdocs.com/tutorial/grid.html 但是我 希望 这些列的宽度相等,最好使 所有 列的宽度取决于

  • 我的目标是创建一个简单的计时器程序。它不断更新自己,直到按下停止按钮。然而,我不确定如何停止刻度函数运行,以便定时器在按下停止按钮后保持不变。 这是我目前的代码: 停止函数的可能方法是什么? 任何帮助都将不胜感激!

  • 问题内容: 我想创建一种秒表,当分钟数达到20分钟时,会弹出一个对话框,该对话框不是问题。但是我的分钟变量在此代码中没有增加。 问题答案: 您可以使用以下方法真正简化整个程序:

  • 问题内容: from Tkinter import * import time #Tkinter stuff 我正在尝试创建一个配方显示,以在Tkinter GUI的屏幕上显示步骤,说明,重量和其他变量。 但是,我不知道如何根据配方的每个新步骤来更新GUI以进行更改,因为必须根据用户输入(从服务器获取)动态更新内容。如何根据步骤的更改实现GUI其他元素的更新? 问题答案: 您可以在(例如)1000