Название: QDateEdit без даты Отправлено: UVV от Ноябрь 14, 2007, 07:32 Вот здесь была тема про это http://prog.org.ru/forum/index.php/topic,960.0.html
Можно поподробнее, что значит отнаследоваться? Или может быть появились другие решения? Название: Re: QDateEdit без даты Отправлено: Kainit от Ноябрь 14, 2007, 10:01 Цитировать Можно поподробнее, что значит отнаследоваться? Боюсь вам скажут что думают о ваших способностях к программированию... Да и про наследование лучше почитать книжку.Цитировать Вот здесь была тема про это http://prog.org.ru/forum/index.php/topic,960.0.html В Qt 4.3.2 нет метода fix (и скорее всего это фантазии Sergeich-а)есть 2 других интересных метода Код: QValidator::State QAbstractSpinBox::validate ( QString & input, int & pos ) или же можно покопаться в Код: void QAbstractSpinBox::fixup ( QString & input ) const Но скажу честное ИМХО, если бы я увидел программу в которой в QDateEdit стояли бы 0000:00:00 или ещё веселее - пустая строка, я бы эту программу выкинул бы без раздумий. Совершенно непонятно зачем создавать компонент с таким странным поведением? Название: Re: QDateEdit без даты Отправлено: Tonal от Ноябрь 14, 2007, 11:25 Но скажу честное ИМХО, если бы я увидел программу в которой в QDateEdit стояли бы 0000:00:00 или ещё веселее - пустая строка, я бы эту программу выкинул бы без раздумий. Совершенно непонятно зачем создавать компонент с таким странным поведением? Зачем такое поведение как раз понятно: нужно же что-то отображать, когда данных нет.Другое дело, что отображать при этом 0000:00:00 - маразм. Частично можно выкрутиться использовав свойства specialValueText и minimumDate, тогда, при установке даты в минимум будет отображаться строка из specialValueText. Но это тоже не удобно, т.к. 1) Установить виджет в это состояние в ручную можно только введя минимальную дату, а не вводом specialValueText. Что требует её знания и вводит юзера в ступор. 2) Если в виджете отображается specialValueText, то следующее значение - на день больше. Что тоже не соответствует ожиданиям пользователя, особенно если QDateEdit в режиме calendarPopup. Да и не удобно это... Решение проблемы 2, я как-то постил сюда в виде python-овского кода. Для решения 1, можно воткнуть спец.кнопку, например. Мы вышли из положения заменив QDateEdit полностью своим виджетом, т.к. там ещё и неудобная модель ввода (например нельзя выделить всю дату). Но это решение, конечно, не очень Code Less... Название: Re: QDateEdit без даты Отправлено: Kainit от Ноябрь 14, 2007, 11:36 Честно говоря, есть 1 нормальный способ
взять QAbstractSpinBox. Отнаследоваться и снабдить нужной функциональностью. Название: Re: QDateEdit без даты Отправлено: Tonal от Ноябрь 14, 2007, 11:43 Практически всё равно от кого плясать, от QAbstractSpinBox или QLineEdit.
В любом случае QDateEdit пока можно использовать только как временный заполнитель места. :-( Может в 4.4 это поменяется... |