Russian Qt Forum
Ноябрь 23, 2024, 10:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Показывать календарь подсказкой  (Прочитано 5704 раз)
Тортег
Гость
« : Январь 21, 2011, 20:37 »

Ну вообщем-то вот пример того, что я хотел бы реализовать: http://jqueryui.com/demos/datepicker/

Т.е. есть QLineEdit. Надо отображать календарь только когда кликаем по полю..

 Непонимающий
Записан
dd
Гость
« Ответ #1 : Январь 21, 2011, 20:42 »

Вопрос то в чем? Отображай.
Ловишь сигнал клика, создаешь виджет с календарем, смотришь геометрию едит-а и
перемещаешь календарь куда надо.
Записан
Тортег
Гость
« Ответ #2 : Январь 21, 2011, 20:44 »

Т.е. я просто не указываю родителя у календаря и он будет окном?
Записан
dd
Гость
« Ответ #3 : Январь 21, 2011, 20:47 »

Ну не обязательно. Можно календарь думаю как модальный диалог сделать как вариант.
Записан
Тортег
Гость
« Ответ #4 : Январь 21, 2011, 21:00 »

И закрывать после выбора даты. Неплохо! Спасибо, завтра попробую замутить Улыбающийся
Записан
Vitto74
Гость
« Ответ #5 : Январь 22, 2011, 08:35 »

Не только после выбора даты, но и после потери фокуса едит'ом
Модальное окно лучше не использовать т.к. пока его не закроешь с окном ничего сделать нельзя. Как вариант можно его закрыть, когда курсор выйдет за пределы календаря и едит'а
Записан
dd
Гость
« Ответ #6 : Январь 22, 2011, 10:33 »

>> Как вариант можно его закрыть, когда курсор выйдет за пределы календаря и едит'а

Если так, то тогда лучше закрывать по таймеру при выходе курсора. Иначе неудобно бкдет.
Записан
Тортег
Гость
« Ответ #7 : Январь 22, 2011, 17:55 »

Переопределил focusInEvent, но вот беда, когда закрываю окно с календарем оно опять вызывается. Походу после закрытия календаря фокус переносится опять на этот QLineEdit. Шокированный
Записан
merke
Гость
« Ответ #8 : Январь 22, 2011, 21:26 »

Вот набросал примерчик, посмотри
Записан
Тортег
Гость
« Ответ #9 : Январь 23, 2011, 14:14 »

Вот набросал примерчик, посмотри
Чот не кошерно Улыбающийся

Сделаю как тут, кнопочкой лучше:
http://docs.huihoo.com/qt/solutions/4/qtcalendarwidget/qtcalendarwidget-example-datepicker.html
Записан
Vitto74
Гость
« Ответ #10 : Январь 23, 2011, 19:32 »

Если так, то тогда лучше закрывать по таймеру при выходе курсора. Иначе неудобно бкдет.
После выхода курсора за пределы календаря включать таймер на ~500мс и по таймеру проверить, находится ли курсор в окне. Если нет - закрыть. Но помни за эти 500мс может сработать несколько событий выхода за пределы области.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #11 : Январь 23, 2011, 22:15 »

>>Сделаю как тут, кнопочкой лучше:
Дак может тогда уж проще штатный виджет использовать (QDateEdit)?
Код
C++ (Qt)
dateEdit = new QDateEdit(Form);
dateEdit->setCalendarPopup(true);
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.152 секунд. Запросов: 23.