您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用python tkinter制作日歷,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
窗口主體框架
每一個 tkinter 應用的主體框架都可以包含下面這部分. 定義 window 窗口 和 window的一些屬性, 然后書寫窗口內容, 最后執行window.mainloop讓窗口活起來。
import tkinter as tk window = tk.Tk() window.title('my window') window.geometry('200x100') # 這里是窗口的內容 window.mainloop()
窗口內容
這次我們會建立一個用來描述的標簽 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!', # 標簽的文字 bg='green', # 背景顏色 font=('Arial', 12), # 字體和字體大小 width=15, height=2 # 標簽長寬 ) l.pack() # 固定窗口位置 window.mainloop()
tkinter綁定事件
tkinter綁定事件,就是定義一個函數,然后通過command屬性傳入函數名,下面通過Button綁定事件,點擊就出現Runsen愛學習
from tkinter import * def p_label(): global root Lb = Label(root, text='Runsen愛學習') Lb.pack() root = Tk() root.title("應用程序窗口") B_n = Button(root, text='點我', command=p_label, bg='red') # command后面不能有任何的標點符號 B_n.pack() root.mainloop()
布局顯示
一個窗口都應該有布局,就是pack的時候需要設置side,expand需要擴展嗎,fill需要填充嗎
from tkinter import * root = Tk() root.title("應用程序窗口") 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()
下面做一個電話撥號盤GUI
from tkinter import * root = Tk() labels = [['1','2','3'], # 文本,布局為網格 ['4','5','6'], ['7','8','9'], ['*','0','#']] for r in range(4): # 行循環 for c in range(3): # 列循環 label = Label(root, relief=RAISED, # 設置邊框格式 padx=10, # 加寬標簽 text=labels[r][c]) # 標簽文本 label.grid(row=r, column=c) # 將標簽放置在r行c列 root.mainloop()
制作一個日歷
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()
最終效果:
看完了這篇文章,相信你對如何使用python tkinter制作日歷有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。