Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Hellraiser от Июнь 06, 2007, 19:05 На форме размещен виджет QEditDate с установленным в true calendarPopup. При нажатии кнопки календарь выходит в ихнем формате (неделя начинается с воскресенья). Первый день недели можно выставить через QCalendarWidget::setFirstDayOfWeek, но вся проблема в том, что невозможно обратиться к нему (findChild его не находит).
Есть ли у кого мысли, как поменять первый день недели и управлять popup-календарем? Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: SABROG от Июнь 06, 2007, 22:10 examples/widgets/calendarwidget/
Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Hellraiser от Июнь 07, 2007, 16:43 Цитата: "SABROG" examples/widgets/calendarwidget/ Если бы все было так просто :( Самим QCalendarWidget управлять просто. Но! Требуется именно его popup вариант, который появляется только по нажатию клавиши в QDateEdit. Судя по исходным текстам, он создается динамически в момент нажатия клавиши и убивается после выбора даты. Неужели придется породится от QDateEdit и перехватывать нажатие клавиш? Хотелось бы более элегантного решения (может можно установить это как-то глобально на уровне самой Qt?). Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Sergeich от Июнь 07, 2007, 17:05 Цитата: "Hellraiser" Если бы все было так просто Самим QCalendarWidget управлять просто. Но! Требуется именно его popup вариант, который появляется только по нажатию клавиши в QDateEdit. Судя по исходным текстам, он создается динамически в момент нажатия клавиши и убивается после выбора даты. Неужели придется породится от QDateEdit и перехватывать нажатие клавиш? Хотелось бы более элегантного решения (может можно установить это как-то глобально на уровне самой Qt?). Вернуться к началу Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: SABROG от Июнь 07, 2007, 17:23 Да, QCalendarWidget жестко берет воскресенье гад :(
Код:
Давайте патчик наклепаем для последнего 4.3.0 snapshot'a ? Надо заставить конструктор календаря определить текущую локаль и в зависимости от традиций всех стран, которые имеются в списке выставлять firstDay... Или более простое решение, сделать доступным свойство setFirstDate у всех Date/Time контролов. Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Hellraiser от Июнь 07, 2007, 17:32 Цитата: "Sergeich" Попробуй им отписаться. Отписаться бы хорошо, да с языками не очень :( Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Tonal от Июнь 07, 2007, 17:57 А в Qt 4.2.3 календарик выпадал в нашей раскладке...
Хотя всё равно нам пришлось от него отказаться... Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Hellraiser от Июнь 07, 2007, 19:44 Цитата: "Tonal" А в Qt 4.2.3 календарик выпадал в нашей раскладке... Интересно узнать каким это образом? Не пожалел времени, собрал 4.2.3 - эффект тот-же самый, что и следовало ожидать - по умолчанию жесткая инициализация Qt::Sunday. Название: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: Tonal от Июнь 08, 2007, 08:10 Действительно прогнал...
Так долго бились с другими его проблемами, что на эту просто внимание не обратили. ;-( Название: Re: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: codeLocker от Июль 10, 2008, 12:47 Для 4.4.0 я сделал так:
QCalendarWidget* cw = new QCalendarWidget(); cw->setFirstDayOfWeek(Qt::Monday); ui.deResearchDate->setCalendarWidget(cw); Название: Re: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: thechicho от Январь 07, 2012, 20:56 4.7.4
ui->dateEditEndPeriod->calendarWidget()->setFirstDayOfWeek(Qt::Monday); Название: Re: QDateEdit и popup-календарь (Qt 4.3.0) Отправлено: 5koleso от Декабрь 17, 2012, 23:25 Спасибо большое thechicho! Вы очень выручили! Решение очевидно, но догадаться неискушенному сложно :D
|