我的日历工作正常。
以下是显示完整日期的功能:
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)
要直接访问所选日期,我根据connect事件调用函数selectDate,然后使用'date'获取精确的date.day等等 - 这工作正常。
让我烦恼的唯一尴尬是它发出以下警告......
TypeError: turbSchedule_selectDate() takes exactly 2 arguments (1 given)
是否有任何建议停止此类型错误警告?
我们非常感谢所有意见和建议。
答案 0 :(得分:2)
我猜测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