thinter图形界面万年历
时间: 2023-12-26 21:05:27 浏览: 16
好的,我可以为您提供一个基于Tkinter的简单万年历界面。以下是代码示例:
```python
import calendar
import tkinter as tk
class CalendarGUI:
def __init__(self, master):
self.master = master
self.master.title("万年历")
self.year_label = tk.Label(self.master, text="年份:", font=("Arial", 14))
self.year_label.grid(row=0, column=0, padx=10, pady=10)
self.year_entry = tk.Entry(self.master, font=("Arial", 14), width=10)
self.year_entry.grid(row=0, column=1, padx=10, pady=10)
self.month_label = tk.Label(self.master, text="月份:", font=("Arial", 14))
self.month_label.grid(row=1, column=0, padx=10, pady=10)
self.month_entry = tk.Entry(self.master, font=("Arial", 14), width=10)
self.month_entry.grid(row=1, column=1, padx=10, pady=10)
self.show_button = tk.Button(self.master, text="显示", font=("Arial", 14), command=self.show_calendar)
self.show_button.grid(row=2, column=0, columnspan=2, padx=10, pady=10)
self.calendar_label = tk.Label(self.master, text="", font=("Arial", 14))
self.calendar_label.grid(row=3, column=0, columnspan=2, padx=10, pady=10)
def show_calendar(self):
year = int(self.year_entry.get())
month = int(self.month_entry.get())
cal = calendar.monthcalendar(year, month)
if len(cal) == 4:
cal.append([0, 0, 0, 0, 0, 0, 0])
month_name = calendar.month_name[month]
year_str = str(year)
calendar_text = f"{month_name} {year_str}\n\nMo Tu We Th Fr Sa Su\n"
for week in cal:
week_str = ""
for day in week:
if day == 0:
week_str += " "
else:
week_str += f"{day:2d} "
calendar_text += week_str + "\n"
self.calendar_label.config(text=calendar_text)
if __name__ == "__main__":
root = tk.Tk()
app = CalendarGUI(root)
root.mainloop()
```
这个界面包括年份和月份的输入框,以及一个“显示”按钮。当用户点击“显示”按钮时,它将调用`show_calendar`方法,该方法将从输入框中获取年份和月份,并使用Python的内置`calendar`模块来生成一个月份的日历。然后,它将日历文本显示在界面上的标签中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)