PyQt5 QCalendarWidget 显示今天的日期

  • Post category:Python

下面我就为你详细讲解python的“PyQt5 QCalendarWidget显示今天的日期”的完整使用攻略。

一、PyQt5 QCalendarWidget简介

QCalendarWidget 是 Qt 提供的一个日历控件,它可以用来显示和选择日期。QCalendarWidget 也提供了一些属性和方法来获取或设置日期,比如获取当天日期、获取当前选中的日期等。

二、在PyQt5中使用QCalendarWidget显示今天的日期

使用QCalendarWidget显示当前日期,需要用到QCalendarWidget的setSelectedDate()方法和QDate的currentDate()方法。

首先,我们需要导入PyQt5.QtCore和PyQt5.QtWidgets模块:

from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QApplication, QCalendarWidget

然后创建一个QCalendarWidget实例并将其显示出来:

app = QApplication([])
calendar = QCalendarWidget()
calendar.show()

最后通过setSelectedDate()方法设置选中的日期为当前日期即可:

calendar.setSelectedDate(QDate.currentDate())

完整的代码如下所示:

from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QApplication, QCalendarWidget

app = QApplication([])
calendar = QCalendarWidget()
calendar.show()
calendar.setSelectedDate(QDate.currentDate())
app.exec_()

执行以上代码,会弹出一个日历控件,当前选中的日期为今天的日期。

三、使用QCalendarWidget选择日期并在Label中显示

使用QCalendarWidget选择日期后,可以将其显示在Label上。此时需要用到QCalendarWidget的selectionChanged信号和QLabel的setText()方法。

首先,我们需要在创建QCalendarWidget实例时连接selectionChanged信号:

calendar.selectionChanged.connect(on_selection_changed)

然后,在on_selection_changed()函数中获取选中的日期并将其显示在Label上:

selected_date = calendar.selectedDate()
label.setText(selected_date.toString("yyyy-MM-dd"))

完整的代码如下所示:

from PyQt5.QtCore import QDate
from PyQt5.QtWidgets import QApplication, QCalendarWidget, QLabel

app = QApplication([])
calendar = QCalendarWidget()
label = QLabel()
calendar.show()
calendar.setSelectedDate(QDate.currentDate())

def on_selection_changed():
    selected_date = calendar.selectedDate()
    label.setText(selected_date.toString("yyyy-MM-dd"))

calendar.selectionChanged.connect(on_selection_changed)

app.exec_()

执行以上代码,会弹出一个日历控件和一个Label,当选择一个日期后,Label会显示所选日期的字符串形式。