2

我正在使用 PyQt 4.4.3。

我有这段代码,它应该清除所有格式QCalendarWidget

cal.setDateTextFormat(QDate(), QDateTextFormat())

根据文档,这应该有效:

QCalendarWidget::setDateTextFormat(QDate &date, QTextCharFormat &format)
如果 date 为null,则清除所有日期格式。

QDate::QDate()
构造一个null日期。空日期无效。

我试过缩小这样的问题:

QDate().isNull()
True
cal.dateTextFormat()
{PyQt4.QtCore.QDate(-4713, 1, 1): PyQt4.QtGui.QTextCharFOrmat object}

显然,QDate()被解释为在 -4713 年,而不是null

知道我需要改变什么才能让它工作吗?

编辑:问题是,使用此方法未重置日历。

4

1 回答 1

2

QDate(-4713, 1, 1) 与 null 相同,

我认为这是设置日历QCalendar默认值的方法。正在返回具有所有特殊格式和(我认为)默认格式的地图。QTextCharFormatQCalendar::dateTextFormat()

或者可能是一个错误,通知巨魔你的问题。

于 2009-04-08T10:33:17.140 回答