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】:使用地点时,您可以使用相对坐标。要将小部件放置在另一个小部件的中心,请使用 relx
和 relx
。您可以使用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 和 matplotlib:在 Linux 下程序关闭之前不会显示窗口
用Tkinter打造GUI开发工具(49)在Tkinter窗口上动态显示matplotlib.pyplot图形
用Tkinter打造GUI开发工具(49)在Tkinter窗口上动态显示matplotlib.pyplot图形