📅  最后修改于: 2023-12-03 15:33:52.298000             🧑  作者: Mango
QCalendarWidget
是 PyQt5 中一个非常有用的小部件,可以在应用程序中方便地添加一个日历,用于选择日期。在本文中,我们将讨论如何从 QCalendarWidget
中获取选定的日期。
QCalendarWidget
有一个名为 selectedDate()
的方法,返回用户当前选定的日期。
selected_date = self.calendar.selectedDate()
我们可以使用 toString()
方法将其转换为字符串格式,并且可以通过设置所需的格式来自定义字符串格式。例如,以下行将选定日期格式化为“dd/MM/yyyy”格式:
selected_date_string = selected_date.toString("dd/MM/yyyy")
以下是一个完整的示例程序,演示如何使用 QCalendarWidget
获取选定的日期并显示。
from PyQt5.QtWidgets import QApplication, QCalendarWidget, QWidget, QVBoxLayout, QLabel
class CalendarWidget(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
self.calendar = QCalendarWidget(self)
self.calendar.clicked.connect(self.show_selected_date)
self.selected_date_label = QLabel(self)
layout = QVBoxLayout()
layout.addWidget(self.calendar)
layout.addWidget(self.selected_date_label)
self.setLayout(layout)
self.setWindowTitle("Calendar Widget")
def show_selected_date(self):
selected_date = self.calendar.selectedDate()
selected_date_string = selected_date.toString("dd/MM/yyyy")
self.selected_date_label.setText(f"Selected Date: {selected_date_string}")
if __name__ == "__main__":
app = QApplication([])
window = CalendarWidget()
window.show()
app.exec_()
该程序创建了一个 QCalendarWidget
,并将其放置在一个垂直布局中,下方增加一个标签以显示所选日期。当用户单击日历中的日期时,show_selected_date()
方法将触发,该方法获取选定日期并在标签中显示它。