Calendrier Qt Python: jour sélectionné un accès direct
Question
J'ai calendrier qui fonctionne très bien.
Voici la fonction qui affiche la date complète:
def selectDate(self,date):
self.fullDate = str(date.day()) + " / " + str(date.month()) + " / " + str(date.year())
print "full date: %s" % self.fullDate
Et voici le code avec le calendrier:
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)
Pour avoir un accès direct à jour sélectionné, je fais appel à la fonction selectDate en fonction de l'événement de connexion, puis en utilisant la « date » pour obtenir le date.day précis et ainsi de suite -. Qui fonctionne très bien
La seule chose bizarre qui me gênant est qu'il donne l'avertissement suivant ..
TypeError: turbSchedule_selectDate() takes exactly 2 arguments (1 given)
Toute suggestion d'arrêter cet avertissement TypeError?
Tous les commentaires et suggestions sont très appréciés.
La solution
Je suppose que la fente appelée par le signal de selectdate ne devrait avoir aucun argument. Vous pouvez accéder à la selectedDate par la méthode du calendrier correspondant.
Voir les c ++ docs: http://doc.trolltech.com/4.3/ widgets-calendarwidget.html
Donc, votre code doit être quelque chose comme:
def selectDate(self):
date = self.calendar.selectedDate()
self.fullDate = str(date.day()) + " / " + str(date.month()) + " / " + str(date.year())
print "full date: %s" % self.fullDate