Python+Tkinter繪制一個(gè)數(shù)字時(shí)鐘
Tkinter 實(shí)現(xiàn)上述功能并不復(fù)雜,只要使用 Tkinter 的相關(guān)組件和一些簡單的邏輯處理即可,在編寫這個(gè)案例的過程中大家要做到溫故而知新。
程序代碼如下所示:
from tkinter import *
from time import strftime
root = Tk()
root.geometry('500x350+300+300')
root.iconbitmap('C:/Users/Administrator/Desktop/C語言中文網(wǎng)logo.ico')
root.title("C語言中文網(wǎng)出品")
# 設(shè)置文本標(biāo)簽
lb = Label(root, font=("微軟雅黑", 50, "bold"), bg='#87CEEB', fg="#B452CD")
lb.pack(anchor="center", fill="both", expand=1)
# 定義一個(gè)mode標(biāo)志
mode = 'time'
# 定義顯示時(shí)間的函數(shù)
def showtime():
if mode == 'time':
#時(shí)間格式化處理
string = strftime("%H:%M:%S %p")
else:
string = strftime("%Y-%m-%d")
lb.config(text=string)
# 每隔 1秒鐘執(zhí)行time函數(shù)
lb.after(1000, showtime)
# 定義鼠標(biāo)處理事件,點(diǎn)擊時(shí)間切換為日期樣式顯示
def mouseClick(event):
global mode
if mode == 'time':
# 點(diǎn)擊切換mode樣式為日期樣式
mode = 'date'
else:
mode = 'time'
lb.bind("<Button>", mouseClick)
# 調(diào)用showtime()函數(shù)
showtime()
# 顯示窗口
mainloop()程序運(yùn)行結(jié)果如下:

圖1:簡單的數(shù)字時(shí)鐘
通過上述代碼就實(shí)現(xiàn)了一個(gè)簡單的數(shù)字時(shí)鐘,是不是非常的簡單。
補(bǔ)充
除了數(shù)字時(shí)鐘,Tkinter還能繪制一個(gè)簡易的鐘表
具體實(shí)現(xiàn)代碼如下:
# coding:utf-8 from tkinter import * import math,time def points(): for i in range(1,13): x = 200 + 130*math.sin(2*math.pi*i/12) y = 200 - 130*math.cos(2*math.pi*i/12) canvas.create_text(x,y,text=i) def createline(radius,line_width,rad): global List global i List = [] x = 200+radius*math.sin(rad) y = 200-radius*math.cos(rad) i=canvas.create_line(200,200,x,y,width=line_width) List.append(i) root = Tk() root.resizable(0,0) canvas = Canvas(root,width=400,height=500,bd=0,highlightthickness=0) canvas.pack() canvas.create_oval(50,50,350,350) points() while 1: tm=time.localtime() t=time.asctime(tm) t_hour=0 if tm.tm_hour<=12: t_hour=tm_hour else: t_hour=tm.tm_hour-12 rad1=2*math.pi*(t_hour+tm.tm_min/60)/12 rad2=2*math.pi*(tm.tm_min+tm.tm_sec/60)/60 rad3=2*math.pi*tm.tm_sec/60 createline(50,6,rad1,) createline(90,3,rad2) createline(120,1,rad3) l=canvas.create_text(170,450,text=t) root.update() time.sleep(1) for item in List: canvas.delete(item) canvas.delete(l) root.update() mainloop()
效果如下

到此這篇關(guān)于Python+Tkinter繪制一個(gè)數(shù)字時(shí)鐘的文章就介紹到這了,更多相關(guān)Python Tkinter數(shù)字時(shí)鐘內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談keras 的抽象后端(from keras import backend as K)
這篇文章主要介紹了淺談keras 的抽象后端(from keras import backend as K),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中的實(shí)現(xiàn)方法
這篇文章主要介紹了Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中,通過這個(gè)腳本,我們就可以把專業(yè)dephi程序分析的結(jié)果,轉(zhuǎn)移到IDA專業(yè)逆向代碼分析的平臺(tái),實(shí)現(xiàn)聯(lián)動(dòng),需要的朋友可以參考下2022-08-08
tensorflow 模型權(quán)重導(dǎo)出實(shí)例
今天小編就為大家分享一篇tensorflow 模型權(quán)重導(dǎo)出實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器
這篇文章主要介紹了centos+nginx+uwsgi+Django實(shí)現(xiàn)IP+port訪問服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
跟老齊學(xué)Python之玩轉(zhuǎn)字符串(1)
本文主要講訴了字符串的定義,變量鏈接到字符串,以及對字符串的簡單操作,都是些非常基礎(chǔ)的東西,適合零基礎(chǔ)的Pythoner學(xué)習(xí),覺得有用的話,多鼓鼓掌吧2014-09-09
python pytorch中.view()函數(shù)的用法解讀
這篇文章主要介紹了python pytorch中.view()函數(shù)的用法,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
ActiveMQ:使用Python訪問ActiveMQ的方法
今天小編就為大家分享一篇ActiveMQ:使用Python訪問ActiveMQ的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

