【问题标题】:tkinter: display time in a windowstkinter:在窗口中显示时间
【发布时间】: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()

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

【问题讨论】:

    标签: python time tkinter display


    【解决方案1】:

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

    例如:

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

    在 stackoverflow 上多次询问时钟更新。这是一个例子: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() 和无限循环。有什么想法继续显示和更新当前时间吗?
    猜你喜欢
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 2015-08-01
    • 2018-01-08
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多