< 返回技术文档列表

如何使用python tkinter制作日历

发布时间:2021-04-03 18:50:32

小编给大家分享一下如何使用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制作日历

看完了这篇文章,相信你对如何使用python tkinter制作日历有了一定的了解,想了解更多相关知识,欢迎关注血鸟云行业资讯频道,感谢各位的阅读!


/template/Home/Zkeys/PC/Static