Qt Python Calendar: выбранный день прямого доступа - PullRequest
0 голосов
/ 05 января 2010

У меня есть календарь, который работает нормально.

Вот функция, которая отображает полную дату:

def selectDate(self,date):
    self.fullDate = str(date.day()) + " / " + str(date.month()) + " / " + str(date.year())
    print "full date: %s" % self.fullDate

А вот и код с календарем:

def TabCalendar(self):
    self.calendar = QtGui.QCalendarWidget(self.tab)
    self.calendar.setGeometry(QtCore.QRect(self.x1, self.y1, self.x2, self.y2)) 

    QtCore.QObject.connect(self.calendar, QtCore.SIGNAL("selectionChanged()"), self.selectDate)
    QtCore.QObject.connect(self.calendar, QtCore.SIGNAL("clicked(QDate)"), self.selectDate)

Чтобы получить прямой доступ к выбранному дню, я вызываю функцию selectDate на основе события подключения, а затем использую «date» для получения точного date.day и т. Д., Который работает нормально.

Единственная неловкая вещь, которая меня раздражает, это то, что она выдает следующее предупреждение ..

TypeError: turbSchedule_selectDate() takes exactly 2 arguments (1 given)

Любое предложение остановить это предупреждение TypeError?

Все комментарии и предложения высоко ценятся.

1 Ответ

2 голосов
/ 05 января 2010

Полагаю, что слот, вызываемый сигналом selectdate, не должен иметь аргумента. Вы можете получить доступ к selectedDate с помощью соответствующего метода календаря.

См. Документы C ++: http://doc.trolltech.com/4.3/widgets-calendarwidget.html

То есть ваш код должен выглядеть примерно так:

def selectDate(self):
    date = self.calendar.selectedDate()
    self.fullDate = str(date.day()) + " / " + str(date.month()) + " / " + str(date.year())
    print "full date: %s" % self.fullDate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...