在 Python 中,我们可以使用 Tkinter 制作 GUI。如果你非常有想象力和创造力,你可以用 Tkinter 做出很多有趣的东西。在这里,我们将使用 Tkinter 制作一个 Python 日历 GUI 应用程序。在这个应用程序中,用户必须输入你想要查看日历的年份,然后日历才会出现。
使用 Tkinter 的 日历 GUI 应用程序
本文章为系列文章,共三个 python 入门项目。初学者可以尝试实现这些项目,并在 Python 编译环境中动手操作。
首先使用以下命令安装 Tkinter:
pip install tk 复制代码 复制代码
我们还需要一个日历包,但我们不必安装它,它是python自带的默认包。
首先导入 calendar 模块和 tkinter 模块
import calendar from tkinter import * 复制代码 复制代码
下面的函数显示给定年份的日历
def showCalender(): gui = Tk() gui.config(background='grey') gui.title("Calender for the year") gui.geometry("550x600") year = int(year_field.get()) gui_content= calendar.calendar(year) calYear = Label(gui, text= gui_content, font= "Consolas 10 bold") calYear.grid(row=5, column=1,padx=20) gui.mainloop() 复制代码 复制代码
说明
ShowCalender 函数正在显示日历。您在搜索框中输入年份并按下 Enter 键时,将在此处管理日历的显示方式。您可以在此处设置灰色的背景颜色,并且可以根据需要在代码中进行更改。您还可以在此处设置日历的尺寸为 550×600。然后您要求以整数形式输入年份。一旦用户输入年份日历内容,就会通过将年份作为参数从 python 的日历模块中获取。
下面是驱动代码
if __name__=='__main__': new = Tk() new.config(background='grey') new.title("Calender") new.geometry("250x140") cal = Label(new, text="Calender",bg='grey',font=("times", 28, "bold")) #输入年份的标签 year = Label(new, text="Enter year", bg='dark grey') #年份输入文本框 year_field=Entry(new) button = Button(new, text='Show Calender',fg='Black',bg='Blue',command=showCalender) 复制代码 复制代码
调整小部件的位置
cal.grid(row=1, column=1) year.grid(row=2, column=1) year_field.grid(row=3, column=1) button.grid(row=4, column=1) Exit.grid(row=6, column=1) new.mainloop() 复制代码 复制代码
说明
在驱动程序代码中,首先我们为屏幕的左侧部分提供背景颜色(如下图所示)。由于给出输入年份的窗口很小,因此我们将其尺寸设置为 250×140。在 year_field 下方的按钮行中,我们调用了上面创建的 showCalendar 函数。此函数向我们显示输入年份的完整日历。
现在,我们还需要调整日历中的小部件,为此我们定义了网格中所有内容的位置。您可以通过更改网格行和列参数来探索更多内容。
虽然样式丑了些,但是作为新手做出这样的小程序还是有点成就感的。