小編給大家分享一下如何使用python tkinter制作日歷,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
10年積累的網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有大理州免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
窗口主體框架
每一個(gè) tkinter 應(yīng)用的主體框架都可以包含下面這部分. 定義 window 窗口 和 window的一些屬性, 然后書(shū)寫(xiě)窗口內(nèi)容, 最后執(zhí)行window.mainloop讓窗口活起來(lái)。
import tkinter as tk window = tk.Tk() window.title('my window') window.geometry('200x100') # 這里是窗口的內(nèi)容 window.mainloop()
窗口內(nèi)容
這次我們會(huì)建立一個(gè)用來(lái)描述的標(biāo)簽 tk.Label, 比如:
import tkinter as tk window = tk.Tk() window.title('my window') window.geometry('200x100') l = tk.Label(window, text='OMG! this is TK!', # 標(biāo)簽的文字 bg='green', # 背景顏色 font=('Arial', 12), # 字體和字體大小 width=15, height=2 # 標(biāo)簽長(zhǎng)寬 ) l.pack() # 固定窗口位置 window.mainloop()
tkinter綁定事件
tkinter綁定事件,就是定義一個(gè)函數(shù),然后通過(guò)command屬性傳入函數(shù)名,下面通過(guò)Button綁定事件,點(diǎn)擊就出現(xiàn)Runsen愛(ài)學(xué)習(xí)
from tkinter import * def p_label(): global root Lb = Label(root, text='Runsen愛(ài)學(xué)習(xí)') Lb.pack() root = Tk() root.title("應(yīng)用程序窗口") B_n = Button(root, text='點(diǎn)我', command=p_label, bg='red') # command后面不能有任何的標(biāo)點(diǎn)符號(hào) B_n.pack() root.mainloop()
布局顯示
一個(gè)窗口都應(yīng)該有布局,就是pack的時(shí)候需要設(shè)置side,expand需要擴(kuò)展嗎,fill需要填充嗎
from tkinter import * root = Tk() root.title("應(yīng)用程序窗口") Button(root,text='1').pack(side=LEFT,expand=YES,fill=Y) Button(root,text='2').pack(side=TOP,expand=YES,fill=BOTH) Button(root,text='3').pack(side=RIGHT,expand=YES,fill=NONE) Button(root,text='4').pack(side=LEFT,expand=NO,fill=Y) Button(root,text='5').pack(side=TOP,expand=YES,fill=BOTH) Button(root,text='6').pack(side=BOTTOM,expand=YES) Button(root,text='7').pack(anchor=SE) root.mainloop()
下面做一個(gè)電話撥號(hào)盤(pán)GUI
from tkinter import * root = Tk() labels = [['1','2','3'], # 文本,布局為網(wǎng)格 ['4','5','6'], ['7','8','9'], ['*','0','#']] for r in range(4): # 行循環(huán) for c in range(3): # 列循環(huán) label = Label(root, relief=RAISED, # 設(shè)置邊框格式 padx=10, # 加寬標(biāo)簽 text=labels[r][c]) # 標(biāo)簽文本 label.grid(row=r, column=c) # 將標(biāo)簽放置在r行c列 root.mainloop()
制作一個(gè)日歷
import calendar from tkinter import * root = Tk() labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']] MonthCal = calendar.monthcalendar(2020, 5) for i in range(len(MonthCal)): labels.append(MonthCal[i]) for r in range(len(MonthCal)+1): for c in range(7): if labels[r][c] == 0: labels[r][c] = ' ' label = Label(root, padx=5, pady=5, text=str(labels[r][c])) label.grid(row=r,column=c) root.mainloop()
最終效果:
看完了這篇文章,相信你對(duì)如何使用python tkinter制作日歷有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!