我使用的是PyQt 4.4.3。
我有这段代码,它应该清除QCalendarWidget中的所有格式
cal.setDateTextFormat(QDate(), QDateTextFormat())根据文献资料,这应该是可行的:
QCalendarWidget::setDateTextFormat(QDate &date, QTextCharFormat &format)如果日期为null,则清除所有日期格式。QDate::QDate()构造一个null日期。空日期无效。
我试着把问题缩小到这样:
QDate().isNull()
True
cal.dateTextFormat()
{PyQt4.QtCore.QDate(-4713, 1, 1): PyQt4.QtGui.QTextCharFOrmat object}显然,QDate()被解释为处于-4713而不是null。
你知道我需要改变什么才能成功吗?
编辑:问题是,日历没有使用此方法重置。
发布于 2009-04-08 10:33:17
QDate(-4713,1,1)与null相同,
我认为这是在QCalendar中设置日历的默认QTextCharFormat的方法。QCalendar::dateTextFormat()正在返回一个带有所有特殊格式和(我认为)默认格式的地图。
或者可能是个bug,通知巨魔你的问题。
https://stackoverflow.com/questions/729219
复制相似问题