На этом шаге рассмотрим класс QDateTimeEdit.
Этот виджет состоит из нескольких секций, предназначенных для показа и изменения даты и времени.
При изменении даты или времени посылается сигнал dateTimeChanged(). Для класса QDateTimeEdit этот сигнал передает константную ссылку на объект типа QDateTime.
Пример, изображенный на рис. 1, отображает актуальную дату и время запуска программы, которые можно модифицировать. Для выбора даты используется календарь.
Рис.1. Пример отображения даты и времени в объектах классов QDateTimeEdit, QDateEdit и QTimeEdit
Рассмотрим фрагмент текста приложения, представленного рис.1:
//создали виджет надписи QLabel *ldt=new QLabel("&Дата/Время:"); //создали элемент ввода даты и времени QDateTimeEdit *dateTimeEdit=new QDateTimeEdit(QDateTime::currentDateTime()); ldt->setBuddy(dateTimeEdit); QLabel *ld=new QLabel("&Календарь:"); //создали элемент просмотра и редактирования даты QDateEdit *dateEdit=new QDateEdit(QDate::currentDate()); //при щелчке на стрелке будет отображен календарь dateEdit->setCalendarPopup(true); //установили формат отображения даты в виде //месяц(словом, полностью) день год(две цифры) dateEdit->setDisplayFormat("MMMM d yy"); ld->setBuddy(dateEdit); QLabel *lt=new QLabel("&Время:"); //создали элемент просмотра и редактирования времени QTimeEdit *timeEdit=new QTimeEdit(QTime::currentTime()); lt->setBuddy(timeEdit);
Файлы приложения можно взять здесь.
На следующем шаге рассмотрим объект класса QValidator для проверки правильности ввода пользователя.