欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tkinter動(dòng)態(tài)顯示時(shí)間的兩種實(shí)現(xiàn)方法

 更新時(shí)間:2023年01月28日 10:39:43   作者:碼上有錢啊  
這篇文章主要介紹了tkinter動(dòng)態(tài)顯示時(shí)間的兩種實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

問題描述

有些小伙伴在使用python做GUI界面的時(shí)候可能想添加這么一個(gè)小功能,就是在界面的某個(gè)角落動(dòng)態(tài)的顯示當(dāng)前的時(shí)間,本文將介紹具體方法。

方式一(使用組件的after方法)

代碼如下所示:

import time
import tkinter
from tkinter import Label
?
?
def get_time():
? ? time2 = time.strftime('%Y-%m-%d %H:%M:%S')
? ? clock = Label(top, text=time2, font=28)
? ? clock.place(x=15, y=120)
? ? clock.after(1000,get_time)
?
top = tkinter.Tk()
top.geometry('500x300')
get_time()
top.mainloop()

after方法的作用是每隔一段時(shí)間調(diào)用函數(shù)一次,需要添加兩個(gè)參數(shù),第一個(gè)參數(shù)為時(shí)間間隔,第二個(gè)參數(shù)為所調(diào)用的函數(shù),上述代碼中的1000指的是1000毫秒,也就是一秒鐘調(diào)用一次get_time函數(shù)。

方式二(新建線程)

這個(gè)方法需要用到threading模塊,作用是創(chuàng)建一個(gè)新的線程。

代碼如下:

import time
import tkinter
from tkinter import Label
import threading
?
top = tkinter.Tk()
top.geometry('500x300')
clock = Label(top,text='',font=28)
clock.place(x=15, y=120)
def f():
? ? while True:
? ? ? ? clock.configure(text=time.strftime('%Y-%m-%d %H:%M:%S'))
? ? ? ? time.sleep(1)
thread = threading.Thread(target=f)
thread.setDaemon(True)
thread.start()
top.mainloop()

其中thread為新開辟的一個(gè)線程,thread.setDaemon(True)這句代碼的作用呢是設(shè)置守護(hù)線程,當(dāng)主線程結(jié)束時(shí)更新時(shí)間的線程也結(jié)束,如果不設(shè)置的話關(guān)閉界面則會(huì)報(bào)錯(cuò),因?yàn)槟氵€有一個(gè)線程在執(zhí)行。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論