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()
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()
defLabelCal(Year, Month): # 首行放置“年、月”的位置 label = Label(root,text=str(Year)+"年") label.grid(row=0,column=2) label = Label(root,text=str(Month)+"月") label.grid(row=0,column=4) # labels列表:放置“星期”的标题 labels = [['Mon','Tue','Wed','Thu','Fri','Sat','Sun']] # 用calendar库计算日历 MonthCal = calendar.monthcalendar(Year, Month) # 先把界面清空 for r in range(7): for c in range(7): label = Label(root, width =5, padx=5, pady=5, text=' ') label.grid(row=r+1,column=c) # 把日历加到labels列表中 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, width =5, padx=5, pady=5, text=str(labels[r][c])) label.grid(row=r+1,column=c) # 网格布局
# 默认日期 Year, Month = 2020,5 LabelCal(Year, Month)
# button:Enter defButtonPrevious(): global Year, Month Month = Month-1 if Month<1:
Month = Month+12 Year = Year-1 LabelCal(Year, Month)