Как я могу сделать дни в QDateEdit?

Стандартное поведение заключается в том, что как только день достигает 31, кнопка повышения перестает работать. Я бы хотел, чтобы он сбрасывался на 1 и переходил к следующему месяцу.


person Georg Schölly    schedule 23.04.2009    source источник


Ответы (1)


У меня не было возможности проверить это, но я знаю, что QDateEdit реализует QAbstractSpinBox, поэтому вы должны иметь возможность вызывать

myDateEdit.setWrapping(True)

который должен выполнить то, что вы хотите.

Ссылка на документ

Обновлять:

Термин для этого поведения, по-видимому, называется «опрокидывание», и вот реализация одного человека, которая (опять же, я ее не проверял), по-видимому, является еще одним потенциальным решением:

Перенос QDateEdit

Он подчеркивает, что его реализация не учитывает минимальные или максимальные даты.

person Community    schedule 23.04.2009
comment
Работает только частично. Как только поле дня достигает 32, оно возвращается к 1. Но это все еще не увеличивает количество месяцев. - person Georg Schölly; 23.04.2009
comment
Если это так, вам, возможно, придется повторно реализовать stepBy/stepUp/stepDown в QDateTimeEdit, что, если вы когда-либо видели исходный код для этого, не очень тривиально. Я работаю над этим виджетом сегодня по совпадению, поэтому я обновлю, если что-то придет в голову - person ; 23.04.2009