📜  PyQt5 QCalendarWidget - 当前页面已更改信号(1)

📅  最后修改于: 2023-12-03 15:33:51.991000             🧑  作者: Mango

PyQt5 QCalendarWidget - currentPageChanged Signal

在 PyQt5 中,QCalendarWidget 是一个显示日期的窗口小部件,它允许用户选择一个特定的日期。QCalendarWidget 有许多信号和槽,其中之一是 currentPageChanged 信号,该信号在用户更改当前页面或月份时发出。

信号

currentPageChanged 信号在用户通过更改当前显示的月份或年份时触发。此信号发出两个整数参数,第一个参数表示新页面的年份,第二个参数表示新页面的月份。

下面是一个示例:

from PyQt5.QtWidgets import QApplication, QCalendarWidget, QMainWindow
import sys

class CalendarWidget(QMainWindow):

    def __init__(self):
        super(CalendarWidget, self).__init__()

        self.cal = QCalendarWidget(self)
        self.cal.currentPageChanged.connect(self.on_currentPageChanged)
        self.setCentralWidget(self.cal)

    def on_currentPageChanged(self, year, month):
        print(f'New Year: {year}')
        print(f'New Month: {month}')


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = CalendarWidget()
    window.show()
    sys.exit(app.exec_())

在此示例中,我们创建了一个自定义 QMainWindow 子类,名为 CalendarWidget。我们创建一个 QCalendarWidget 实例并将其设置为中央小部件。我们连接currentPageChanged 信号到 on_currentPageChanged 槽中。在 on_currentPageChanged 槽中,我们简单地打印新的年份和月份。

结论

currentPageChanged 信号为开发人员提供了一种处理 QCalendarWidget 中更改当前页面或月份的机制。这样,我们可以执行任何操作,比如在选定日期时更新小部件或在新月份中加载新数据。