tkinter:在窗口中显示时间

Posted

技术标签:

【中文标题】tkinter:在窗口中显示时间【英文标题】:tkinter: display time in a windows 【发布时间】:2016-10-12 09:20:06 【问题描述】:

我从带有 tkinter 的 python 中的 GUI 开始,我想在我的窗口中心显示当前时间为 HH:MM:SS(如果可能,使用大数字)。这是应用代码:一个带有背景图片的基本全屏窗口。

import Tkinter as tk
from Tkinter import Tk, Frame, BOTH
import Tkinter
from PIL import Image, ImageTk
root = tk.Tk()
root.attributes('-fullscreen', 1)
im = Image.open('spring.png')
tkimage = ImageTk.PhotoImage(im)
myvar=Tkinter.Label(root,image = tkimage)
myvar.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()

编辑:当前时间是指不断更新时间作为时钟。

【问题讨论】:

【参考方案1】:

使用地点时,您可以使用相对坐标。要将小部件放置在另一个小部件的中心,请使用 relxrelx。您可以使用in_ 参数告诉它与哪个小部件相关;默认情况下,它将位于其父级的中心。

例如:

time = tk.Label(...)
time.place(in_=myvar, relx=.5, rely=.5)

在 *** 上多次询问时钟更新。这是一个例子:How to create a timer using tkinter?

【讨论】:

嗨 Bryan 谢谢你的回答,我去看了这个例子,正如我所说,我只是从 GUI 和 Tkinter 开始,我对课程也不太了解,我想知道是否有任何方法都可以将计时器包含在一个函数中,因为我不知道如何将实际代码更改为一个类并包含计时器。请帮助我。【参考方案2】:

compound 参数添加到您的 myvar 对象,其值为 Tkinter.CENTER 以及带有时间字符串的 text参数。 要创建时间字符串添加

import time
time_string = time.strftime('%H:%M:%S')

现在你的myvar 看起来像

myvar=Tkinter.Label(root,image = tkimage, text = time_string, compound = Tkinter.CENTER)

更多参考见:python时间:https://docs.python.org/2/library/time.html#time.strftime

python tkinter 标签:http://effbot.org/tkinterbook/label.htm

【讨论】:

嗨 Zeerorg 谢谢你的帮助。我照你说的做了,但它不是我所期望的。它打印代码运行的时间..我的意思是“当前时间”每秒更新一次的时钟。python 运行 mainloop() 和无限循环。有什么想法继续显示和更新当前时间吗?

以上是关于tkinter:在窗口中显示时间的主要内容,如果未能解决你的问题,请参考以下文章

使 Tkinter 窗口显示在任务栏中

tkinter 和 matplotlib:在 Linux 下程序关闭之前不会显示窗口

用Tkinter打造GUI开发工具(49)在Tkinter窗口上动态显示matplotlib.pyplot图形

用Tkinter打造GUI开发工具(49)在Tkinter窗口上动态显示matplotlib.pyplot图形

如何在python中每隔几秒在tkinter窗口中更改一行文本[重复]

如何创建“控制台”显示以显示我在tkinter窗口中运行的代码的输出?