首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么QCalendarWidget.setDateTextFormat不(QDate(),.)工作?

为什么QCalendarWidget.setDateTextFormat不(QDate(),.)工作?
EN

Stack Overflow用户
提问于 2009-04-08 09:19:16
回答 1查看 1.7K关注 0票数 2

我使用的是PyQt 4.4.3。

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

代码语言:javascript
复制
cal.setDateTextFormat(QDate(), QDateTextFormat())

根据文献资料,这应该是可行的:

QCalendarWidget::setDateTextFormat(QDate &date, QTextCharFormat &format) 如果日期为null,则清除所有日期格式。 QDate::QDate() 构造一个null日期。空日期无效。

我试着把问题缩小到这样:

代码语言:javascript
复制
QDate().isNull()
True
cal.dateTextFormat()
{PyQt4.QtCore.QDate(-4713, 1, 1): PyQt4.QtGui.QTextCharFOrmat object}

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

你知道我需要改变什么才能成功吗?

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

EN

回答 1

Stack Overflow用户

发布于 2009-04-08 10:33:17

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

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/729219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档