100个Python实战项目(二)日历 GUI 应用程序

本文章为系列文章,共100个 python 实战项目。初学者可以尝试实现这些项目,并在 Python 编译环境中动手操作。所有项目都已收集在专栏


让我们接着做第二个项目。

在 Python 中,我们可以使用 Tkinter 制作 GUI。如果你非常有想象力和创造力,你可以用 Tkinter 做出很多有趣的东西。在这里,我们将使用 Tkinter 制作一个 Python 日历 GUI 应用程序。在这个应用程序中,用户必须输入你想要查看日历的年份,然后日历才会出现。

本文章为系列文章,共三个 python 入门项目。初学者可以尝试实现这些项目,并在 Python 编译环境中动手操作。

🌟【python入门项目】使用 Python 生成二维码
🌟 使用 Tkinter 的 Python 日历 GUI 应用程序
🌟 使用 Python 将图像转换为铅笔素描

第一步:安装 Tkinter

首先使用以下命令安装 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 函数。此函数向我们显示输入年份的完整日历。

现在,我们还需要调整日历中的小部件,为此我们定义了网格中所有内容的位置。您可以通过更改网格行和列参数来探索更多内容。

第五步:输出日历 GUI

在这里插入图片描述
在这里插入图片描述
虽然样式丑了些,但是作为新手做出这样的小程序还是有点成就感的。

💌 欢迎大家在评论区提出意见和建议!💌

全部评论
三克油
点赞 回复 分享
发布于 2022-05-20 16:25

相关推荐

我看到好多人都在说0offer好焦虑,结果一看是投了百度快手字节啥的。好像大家都是只想通过校招进大厂,对小公司是不考虑的吗😂可是能进大厂的难道不是只有少部分人吗,真心发问
梦想是成为七海千秋:沉默的大多数吧,喜欢晒的都是能引起共鸣的大厂,找小厂的人,别人也不认识你这个小厂,就自己偷偷找了实际上大多数人哪有什么机会能找到大厂
点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务