使用 PyQt5 在 Python 中创建 GUI 日历

2025年3月17日 | 阅读 3 分钟

可以使用 PyQt5 模块中的 QCalendar 小部件在 Python 中创建日历 GUI。

Riverbank Computing 的 GUI 小部件工具包的最新版本是 PyQt5。Qt 是最有效和最受欢迎的跨平台 GUI 库之一,它提供了一个 Python 接口。PyQt5 将 Python 编程语言与 Qt 库结合在一起。借助这个基础教程,您可以使用 PyQt 构建图形应用程序。

QCalendar 小部件之所以有用,是因为它具有日期选择控件和高质量的显示。它提供基于月份的视图。用户可以使用鼠标或键盘选择日期,默认显示今天的日期。您还可以为日历设置日期范围。

QCalendarWidget 类是 QWidgets 类的一部分,它提供了一个基于月份的日历小部件,允许用户选择日期。我们使用日历来组织日期,用于社交、宗教、商业或行政目的。这通过为离散的时间间隔(通常是天、周、月和年)命名来实现。在这种系统中,日期表示一个单一的、特定的日子。

以下是该类的一些有用方法,将在代码中使用:

setDateRange():设置可以选择的开始日期和结束日期。

setFirstDayOfWeek():setFirstDayOfWeek() 确定日历中第一列是星期几。当前的日期常量有:

  • Monday - 设置第一天为星期一。
  • Tuesday - 设置第一天为星期二。
  • Wednesday - 设置第一天为星期三。
  • Thursday - 设置第一天为星期四。
  • Friday - 设置第一天为星期五。
  • Saturday - 设置第一天为星期六。
  • Sunday - 设置第一天为星期日。

setMinimumDate():用于设置可以选择的最低日期。

setMaximumDate():设置可以选择的最高日期。

setSelectedDate():将 QDate 对象设置为选定的日期。

showToday():显示当前月份。

selectedDate():可以使用此方法检索选定的日期。

setGridvisible():这有助于控制日历网格的可见性。

代码解析

首先,我们将导入创建此 GUI 所需的所有模块。这些模块包括 QtWidgets、QtCore、QtGuisys

然后,我们将创建 Window 类来设置我们的窗口。初始化后,我们将设置窗口的标题几何尺寸并显示小部件。此外,我们将调用函数来引入UI 组件

然后,我们定义了 Uicomp() 函数,其中包括 QCalendarWidget,它将显示一个日历,然后我们还将设置其几何尺寸

最后,我们将通过创建对象实例并使用 exit 方法执行应用程序来创建应用程序。

完整代码

输出

用户可以在带有 QCalendarWidget 的窗口中查看不同的月份并选择任何一天。上面实现的输出已作为屏幕截图附在此处。

Create a GUI Calendar using PyQt5 in Python