Почему не работает QCalendarWidget.setDateTextFormat (QDate (), ...)? - PullRequest
2 голосов
/ 08 апреля 2009

Я использую 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.

Есть идеи, что мне нужно изменить, чтобы это работало?

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

1 Ответ

2 голосов
/ 08 апреля 2009

QDate (-4713, 1, 1) соответствует нулю,

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...