2009-04-08 1 views
2

Я использую PyQt 4.4.3.Почему не работает QCalendarWidget.setDateTextFormat (QDate(), ...)?

У меня этот код, который должен очистить все форматы в QCalendarWidget:

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

По the documentation это должно работать:

QCalendarWidget :: setDateTextFormat (QDate & даты, QTextCharFormat &)
Если дата null, все форматы дат очищаются.

QDate :: QDate()
конструирует дата нуль. Нулевые даты недействительны.

Я пытался сузить эту проблему следующим образом:

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

Очевидно, что QDate() интерпретируется как в -4713 году вместо того, чтобы быть null.

Любая идея, что мне нужно изменить, чтобы она работала?

Редактировать: Проблема в том, что календарь не сбрасывается с использованием этого метода.

ответ

1

QDate (-4713, 1, 1) такое же, как нуль,

Я думаю, что это путь в QCalendar установить QTextCharFormat по умолчанию календаря. QCalendar :: dateTextFormat() возвращает карту со всеми специальными форматами и (я думаю) формат по умолчанию.

Или может быть ошибкой, уведомить троллей о вашей проблеме.

Смежные вопросы