您好,登錄后才能下訂單哦!
這篇“Python+Tkinter如何繪制一個(gè)數(shù)字時(shí)鐘”文章,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要參考一下,對(duì)于“Python+Tkinter如何繪制一個(gè)數(shù)字時(shí)鐘”,小編整理了以下知識(shí)點(diǎn),請(qǐng)大家跟著小編的步伐一步一步的慢慢理解,接下來(lái)就讓我們進(jìn)入主題吧。
Tkinter 實(shí)現(xiàn)上述功能并不復(fù)雜,只要使用 Tkinter 的相關(guān)組件和一些簡(jiǎn)單的邏輯處理即可,在編寫(xiě)這個(gè)案例的過(guò)程中大家要做到溫故而知新。
程序代碼如下所示:
from tkinter import * from time import strftime root = Tk() root.geometry('500x350+300+300') root.iconbitmap('C:/Users/Administrator/Desktop/C語(yǔ)言中文網(wǎng)logo.ico') root.title("C語(yǔ)言中文網(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:簡(jiǎn)單的數(shù)字時(shí)鐘
通過(guò)上述代碼就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的數(shù)字時(shí)鐘,是不是非常的簡(jiǎn)單。
補(bǔ)充
除了數(shù)字時(shí)鐘,Tkinter還能繪制一個(gè)簡(jiǎn)易的鐘表
具體實(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()
效果如下
1、簡(jiǎn)單易用,與C/C++、Java、C# 等傳統(tǒng)語(yǔ)言相比,Python對(duì)代碼格式的要求沒(méi)有那么嚴(yán)格;2、Python屬于開(kāi)源的,所有人都可以看到源代碼,并且可以被移植在許多平臺(tái)上使用;3、Python面向?qū)ο?,能夠支持面向過(guò)程編程,也支持面向?qū)ο缶幊蹋?、Python是一種解釋性語(yǔ)言,Python寫(xiě)的程序不需要編譯成二進(jìn)制代碼,可以直接從源代碼運(yùn)行程序;5、Python功能強(qiáng)大,擁有的模塊眾多,基本能夠?qū)崿F(xiàn)所有的常見(jiàn)功能。
以上是“Python+Tkinter如何繪制一個(gè)數(shù)字時(shí)鐘”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。