为什么QCalendarWidget.setDateTextFormat(QDate(),...)无效?

qt pyqt

1280 观看

1回复

98604 作者的声誉

我正在使用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

知道我需要改变什么来使它工作吗?

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

作者: Georg Schölly 的来源 发布者: 2009 年 4 月 8 日

回应 (1)


1

989 作者的声誉

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

我认为这是QCalendar设置QTextCharFormat日历默认值的方法。QCalendar::dateTextFormat()正在返回一个包含所有特殊格式的地图,并且(我认为)是默认格式。

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

作者: Jesus Fernandez 发布者: 08.04.2009 10:33
32x32