#python #qt #pyqt
#python #qt #pyqt
Вопрос:
Я использую QCalendarWidget
в PyQt для поиска единственной даты, на которую пользователь нажимает из всплывающего календаря. Я бы хотел, чтобы они могли выбирать диапазон дат — например, с 12 по 17 ноября, а не только 12-го.
В QCalendarWidget
документах упоминаются NoSelection
и SingleSelection
. Как я могу реализовать множественный выбор?
Вот код, который у меня есть сейчас:
def selectDates(self):
self.dateWindow = QWidget()
self.cal = QCalendarWidget(self)
self.cal.clicked[QtCore.QDate].connect(self.showDate)
self.hbox = QHBoxLayout()
self.hbox.addWidget(self.cal)
self.dateWindow.setLayout(self.hbox)
self.dateWindow.setGeometry(300, 300, 350, 300)
self.dateWindow.setWindowTitle('Calendar')
self.dateWindow.show()
def showDate(self):
print "Date picked: ", self.cal.selectedDate()
Ответ №1:
Хотя это действительно старый пост, но я все еще опубликовал, как я решил проблему. Я использовал 2 DateEdits
, один для fromDate
, а другой для toDate
. Если вы хотите, чтобы у вас был всплывающий эффект календаря для вашего DateEdits
, установите calendarPopUp
для параметра значение True
.
Ответ №2:
Я не думаю, что это возможно. Я уверен, что вы уже рассматривали факт добавления двух виджетов календаря или виджетов dateEdit (один для первой даты диапазона и один для последней). Но если вы не думаете, что сможете разработать переопределенный класс, вам действительно следует подумать об этой возможности.
Комментарии:
1. Хм — этого я и боялся. Я думаю, мне придется использовать опцию двойного календаря. Спасибо!