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.

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top