十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下如何使用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制作日历有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!