Класс QDateTimeEdit
Класс QDateTimeEdit предоставляет виджет для редактирования дат и времени. Подробнее...
| Заголовок: | #include <QDateTimeEdit> |
| qmake: | QT += widgets |
| Наследует: | QAbstractSpinBox |
| Наследуется от: |
Открытые типы
| Перечисление | Section { НетРаздела, РазделAmPm, РазделМс, РазделСекунд, ..., РазделГод } |
| Флаги | Sections |
Свойства
|
|
Открытые функции
| QDateTimeEdit(const QTime &time, QWidget *parent = nullptr) | |
| QDateTimeEdit(const QDate &date, QWidget *parent = nullptr) | |
| QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr) | |
| QDateTimeEdit(QWidget *parent = nullptr) | |
| virtual | ~QDateTimeEdit() |
| bool | calendarPopup() const |
| QCalendarWidget * | calendarWidget() const |
| void | clearMaximumDate() |
| void | clearMaximumDateTime() |
| void | clearMaximumTime() |
| void | clearMinimumDate() |
| void | clearMinimumDateTime() |
| void | clearMinimumTime() |
| QDateTimeEdit::Section | currentSection() const |
| int | currentSectionIndex() const |
| QDate | date() const |
| QDateTime | dateTime() const |
| QString | displayFormat() const |
| QDateTimeEdit::Sections | displayedSections() const |
| QDate | maximumDate() const |
| QDateTime | maximumDateTime() const |
| QTime | maximumTime() const |
| QDate | minimumDate() const |
| QDateTime | minimumDateTime() const |
| QTime | minimumTime() const |
| QDateTimeEdit::Section | sectionAt(int index) const |
| int | sectionCount() const |
| QString | sectionText(QDateTimeEdit::Section section) const |
| void | setCalendarPopup(bool enable) |
| void | setCalendarWidget(QCalendarWidget *calendarWidget) |
| void | setCurrentSection(QDateTimeEdit::Section section) |
| void | setCurrentSectionIndex(int index) |
| void | setDateRange(const QDate &min, const QDate &max) |
| void | setDateTimeRange(const QDateTime &min, const QDateTime &max) |
| void | setDisplayFormat(const QString &format) |
| void | setMaximumDate(const QDate &max) |
| void | setMaximumDateTime(const QDateTime &dt) |
| void | setMaximumTime(const QTime &max) |
| void | setMinimumDate(const QDate &min) |
| void | setMinimumDateTime(const QDateTime &dt) |
| void | setMinimumTime(const QTime &min) |
| void | setSelectedSection(QDateTimeEdit::Section section) |
| void | setTimeRange(const QTime &min, const QTime &max) |
| void | setTimeSpec(Qt::TimeSpec spec) |
| QTime | time() const |
| Qt::TimeSpec | timeSpec() const |
Реализованные публичные функции
| virtual void | clear() override |
| virtual bool | event(QEvent *event) override |
| virtual QSize | sizeHint() const override |
| virtual void | stepBy(int steps) override |
Публичные слоты
| void | setDate(const QDate &date) |
| void | setDateTime(const QDateTime &dateTime) |
| void | setTime(const QTime &time) |
Сигналы
| void | dateChanged(const QDate &date) |
| void | dateTimeChanged(const QDateTime &datetime) |
| void | timeChanged(const QTime &time) |
Защищенные функции
| виртуальный QDateTime | dateTimeFromText(const QString &text) const |
| void | initStyleOption(QStyleOptionSpinBox *option) const |
| виртуальный QString | textFromDateTime(const QDateTime &dateTime) const |
Переопределённые защищённые функции
| виртуальный void | fixup(QString &input) const override |
| виртуальный void | focusInEvent(QFocusEvent *event) override |
| виртуальный bool | focusNextPrevChild(bool next) override |
| виртуальный void | keyPressEvent(QKeyEvent *event) override |
| виртуальный void | mousePressEvent(QMouseEvent *event) override |
| виртуальный void | paintEvent(QPaintEvent *event) override |
| виртуальный QAbstractSpinBox::StepEnabled | stepEnabled() const override |
| виртуальный QValidator::State | validate(QString &text, int &pos) const override |
| виртуальный void | wheelEvent(QWheelEvent *event) override |
Подробное описание
QDateTimeEdit позволяет пользователю редактировать даты с помощью клавиатуры или клавиш со стрелками для увеличения и уменьшения значений даты и времени. Клавиши со стрелками могут использоваться для перехода от раздела к разделу в поле QDateTimeEdit. Даты и время отображаются в соответствии с заданным форматом; см. setDisplayFormat().
QDateTimeEdit *dateEdit = new QDateTimeEdit(QDate::currentDate());
dateEdit->setMinimumDate(QDate::currentDate().addDays(-365));
dateEdit->setMaximumDate(QDate::currentDate().addDays(365));
dateEdit->setDisplayFormat("yyyy.MM.dd"); Здесь мы создали новый объект QDateTimeEdit, инициализированный сегодняшней датой, и ограничили допустимый диапазон дат сегодняшней датой плюс-минус 365 дней. Мы установили порядок: месяц, день, год.
Минимальное значение для QDateTimeEdit — 14 сентября 1752 года. Вы можете изменить это, вызвав setMinimumDate(), учитывая, что минимальное значение для QDate — 2 января 4713 г. до н. э.
Другие полезные функции: setMaximumDate(), setMinimumTime() и setMaximumTime().
Использование всплывающего календарного виджета
QDateTimeEdit может быть сконфигурирован для использования QCalendarWidget для выбора дат. Это включается путем установки свойства calendarPopup. Кроме того, вы можете предоставить пользовательский виджет календаря для использования в качестве всплывающего календаря, вызвав функцию setCalendarWidget(). Существующий виджет календаря может быть получен с помощью calendarWidget().
См. также QDateEdit, QTimeEdit, QDate и QTime.
Документация по типам членов
перечисление QDateTimeEdit::Sectionфлаги QDateTimeEdit::Sections
| Константа | Значение |
|---|---|
QDateTimeEdit::NoSection |
0x0000 |
QDateTimeEdit::AmPmSection |
0x0001 |
QDateTimeEdit::MSecSection |
0x0002 |
QDateTimeEdit::SecondSection |
0x0004 |
QDateTimeEdit::MinuteSection |
0x0008 |
QDateTimeEdit::HourSection |
0x0010 |
QDateTimeEdit::DaySection |
0x0100 |
QDateTimeEdit::MonthSection |
0x0200 |
QDateTimeEdit::YearSection |
0x0400 |
Тип Sections — это псевдоним для QFlags<Section>. Он хранит логическое ИЛИ сочетание значений Section.
Документация по свойствам
calendarPopup : bool
Это свойство содержит текущий режим отображения всплывающего календаря.
Всплывающий календарь будет показан при нажатии на кнопку со стрелкой. Это свойство применимо только при наличии корректного формата отображения даты.
Это свойство было введено в Qt 4.2.
Функции доступа:
| bool | calendarPopup() const |
| void | setCalendarPopup(bool enable) |
См. также setDisplayFormat().
currentSection : Section
Это свойство содержит текущую секцию спинбокcа setCurrentSection()
Функции доступа:
| QDateTimeEdit::Section | currentSection() const |
| void | setCurrentSection(QDateTimeEdit::Section section) |
currentSectionIndex : int
Это свойство содержит текущий индекс секции спинбокcа
Если формат равен 'yyyy/MM/dd', displayText равен '2001/05/21', а cursorPosition равен 5, currentSectionIndex возвращает 1. Если cursorPosition равен 3, currentSectionIndex равен 0, и так далее.
setCurrentSection()
Это свойство было введено в Qt 4.3.
Функции доступа:
| int | currentSectionIndex() const |
| void | setCurrentSectionIndex(int index) |
См. также currentSection().
date : QDate
Это свойство содержит QDate, установленный в виджете
По умолчанию это свойство содержит дату 1 января 2000 года.
Функции доступа:
| QDate | date() const |
| void | setDate(const QDate &date) |
Сигнал-уведомление:
| void | dateChanged(const QDate &date) |
dateTime : QDateTime
Это свойство содержит QDateTime, установленный в QDateTimeEdit
При установке этого свойства временная метка QDateTimeEdit остается неизменной, а временная метка нового QDateTime игнорируется.
По умолчанию это свойство содержит дату 1 января 2000 года и время 00:00:00 и 0 миллисекунд.
Функции доступа:
| QDateTime | dateTime() const |
| void | setDateTime(const QDateTime &dateTime) |
Сигнал-уведомление:
| void | dateTimeChanged(const QDateTime &datetime) |
displayFormat : QString
Это свойство содержит формат, используемый для отображения времени/даты в редакторе даты и времени.
Этот формат описан в QDateTime::toString() и QDateTime::fromString()
Примеры форматов (предполагая, что дата - 2 июля 1969 года):
| Формат | Результат |
|---|---|
| dd.MM.yyyy | 02.07.1969 |
| MMM d yy | Июл 2 69 |
| MMMM d yy | Июль 2 69 |
Обратите внимание, что если вы укажете двухзначный год, он будет интерпретирован как год столетия, в котором было инициализировано редактирование даты и времени. По умолчанию столетие равно 21 (2000-2099).
Если вы укажете недопустимый формат, формат не будет установлен.
Функции доступа:
| QString | displayFormat() const |
| void | setDisplayFormat(const QString &format) |
См. также QDateTime::toString() и displayedSections().
displayedSections : const Sections
Это свойство содержит текущие отображаемые поля редактирования даты и времени.
Возвращает набор отображаемых разделов для этого формата. setDisplayFormat(), displayFormat()
Функции доступа:
| QDateTimeEdit::Sections | displayedSections() const |
maximumDate : QDate
Это свойство содержит максимальную дату редактирования даты и времени.
При установке этого свойства свойство minimumDate корректируется при необходимости, чтобы диапазон оставался корректным. Если дата не является допустимым объектом QDate, эта функция ничего не делает.
По умолчанию это свойство содержит дату 31 декабря 9999 года.
Функции доступа:
| QDate | maximumDate() const |
| void | setMaximumDate(const QDate &max) |
| void | clearMaximumDate() |
См. также minimumDate, minimumTime, maximumTime и setDateRange().
maximumDateTime : QDateTime
Это свойство содержит максимальную дату и время редактирования даты и времени.
При установке этого свойства свойство minimumDateTime() корректируется при необходимости, чтобы диапазон оставался корректным. Если дата и время не являются допустимым объектом QDateTime, эта функция ничего не делает.
По умолчанию максимальное значение datetime можно восстановить с помощью clearMaximumDateTime().
По умолчанию это свойство содержит дату 31 декабря 9999 года и время 23:59:59, 999 миллисекунд.
Это свойство было добавлено в Qt 4.4.
Функции доступа:
| QDateTime | maximumDateTime() const |
| void | setMaximumDateTime(const QDateTime &dt) |
| void | clearMaximumDateTime() |
См. также minimumDateTime(), minimumTime(), maximumTime(), minimumDate(), maximumDate(), setDateTimeRange(), setDateRange(), setTimeRange(), clearMinimumDateTime(), clearMinimumDate(), clearMaximumDate(), clearMinimumTime(), и clearMaximumTime().
maximumTime : QTime
Это свойство содержит максимальное время редактирования даты и времени.
При установке этого свойства свойство minimumTime корректируется при необходимости, чтобы диапазон оставался корректным. Если время не является допустимым объектом QTime, эта функция ничего не делает.
По умолчанию это свойство содержит время 23:59:59, 999 миллисекунд.
Функции доступа:
| QTime | maximumTime() const |
| void | setMaximumTime(const QTime &max) |
| void | clearMaximumTime() |
См. также minimumTime, minimumDate, maximumDate и setTimeRange().
minimumDate : QDate
Это свойство содержит минимальную дату редактирования даты и времени.
При установке этого свойства maximumDate корректируется при необходимости, чтобы обеспечить сохранение допустимого диапазона. Если дата не является допустимым объектом QDate, эта функция ничего не делает.
По умолчанию это свойство содержит дату, которая относится к 14 сентября 1752 года. Минимальная дата должна быть не ранее первого дня 100-го года, в противном случае setMinimumDate() не имеет эффекта.
Функции доступа:
| QDate | minimumDate() const |
| void | setMinimumDate(const QDate &min) |
| void | clearMinimumDate() |
См. также minimumTime(), maximumTime() и setDateRange().
minimumDateTime : QDateTime
Это свойство содержит минимальную дату и время редактирования даты и времени.
При установке этого свойства maximumDateTime() корректируется при необходимости, чтобы обеспечить сохранение допустимого диапазона. Если дата и время не являются допустимым объектом QDateTime, эта функция ничего не делает.
Значение по умолчанию для minimumDateTime можно восстановить с помощью clearMinimumDateTime().
По умолчанию это свойство содержит дату, которая относится к 14 сентября 1752 года, и время 00:00:00 и 0 миллисекунд.
Это свойство было введено в Qt 4.4.
Функции доступа:
| QDateTime | minimumDateTime() const |
| void | setMinimumDateTime(const QDateTime &dt) |
| void | clearMinimumDateTime() |
См. также maximumDateTime(), minimumTime(), maximumTime(), minimumDate(), maximumDate(), setDateTimeRange(), setDateRange(), setTimeRange(), clearMaximumDateTime(), clearMinimumDate(), clearMaximumDate(), clearMinimumTime() и clearMaximumTime().
minimumTime : QTime
Это свойство содержит минимальное время редактирования даты и времени.
При установке этого свойства maximumTime корректируется при необходимости, чтобы обеспечить сохранение допустимого диапазона. Если время не является допустимым объектом QTime, эта функция ничего не делает.
По умолчанию это свойство содержит время 00:00:00 и 0 миллисекунд.
Функции доступа:
| QTime | minimumTime() const |
| void | setMinimumTime(const QTime &min) |
| void | clearMinimumTime() |
См. также maximumTime, minimumDate, maximumDate и setTimeRange().
sectionCount : const int
Это свойство хранит количество отображаемых разделов. Если формат «гггг/гг/гггг», sectionCount возвращает 3
Это свойство было добавлено в Qt 4.3.
Функции доступа:
| int | sectionCount() const |
time : QTime
Это свойство хранит QTime, установленный в виджете.
По умолчанию это свойство содержит время 00:00:00 и 0 миллисекунд.
Функции доступа:
| QTime | time() const |
| void | setTime(const QTime &time) |
Сигнал уведомления:
| void | timeChanged(const QTime &time) |
timeSpec : Qt::TimeSpec
Это свойство хранит текущий формат времени, используемый редактором даты и времени.
Это свойство было добавлено в Qt 4.4.
Функции доступа:
| Qt::TimeSpec | timeSpec() const |
| void | setTimeSpec(Qt::TimeSpec spec) |
Документация по членам-функциям
QDateTimeEdit::QDateTimeEdit(const QTime &time, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с заданным parent. Значение устанавливается в time.
QDateTimeEdit::QDateTimeEdit(const QDate &date, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с заданным parent. Значение устанавливается в date.
QDateTimeEdit::QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с заданным parent. Значение устанавливается в datetime.
QDateTimeEdit::QDateTimeEdit(QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с заданным parent.
[signal] void QDateTimeEdit::dateChanged(const QDate &date)
Этот сигнал испускается при изменении даты. Новая дата передаётся в date.
Примечание: Сигнал уведомления для свойства date.
[signal] void QDateTimeEdit::dateTimeChanged(const QDateTime &datetime)
Этот сигнал испускается при изменении даты или времени. Новая дата и время передаются в datetime.
Примечание: Сигнал уведомления для свойства dateTime.
[signal] void QDateTimeEdit::timeChanged(const QTime &time)
Этот сигнал испускается при изменении времени. Новое время передаётся в time.
Примечание: Сигнал уведомления для свойства time.
[virtual] QDateTimeEdit::~QDateTimeEdit()
Деструктор.
QCalendarWidget *QDateTimeEdit::calendarWidget() const
Возвращает виджет календаря для редактора, если calendarPopup установлен в true и (sections() & DateSections_Mask) != 0.
Эта функция создаёт и возвращает виджет календаря, если он не был задан.
Эта функция была добавлена в Qt 4.4.
См. также setCalendarWidget().
[override virtual] void QDateTimeEdit::clear()
Переопределяет: QAbstractSpinBox::clear().
END_OF_DOCUMENT_MARKERQDate QDateTimeEdit::date() const
Возвращает дату из виджета редактирования даты и времени.
Примечание: Функция-геттер для свойства date.
См. также setDate().
[virtual protected] QDateTime QDateTimeEdit::dateTimeFromText(const QString &text) const
Возвращает соответствующую дату и время для заданного text.
Эта виртуальная функция используется виджетом редактирования даты и времени всякий раз, когда ему нужно интерпретировать текст, введённый пользователем, как значение.
См. также textFromDateTime() и validate().
[override virtual] bool QDateTimeEdit::event(QEvent *event)
Переопределяет: QAbstractSpinBox::event(QEvent *event).
[override virtual protected] void QDateTimeEdit::fixup(QString &input) const
Переопределяет: QAbstractSpinBox::fixup(QString &input) const.
[override virtual protected] void QDateTimeEdit::focusInEvent(QFocusEvent *event)
Переопределяет: QAbstractSpinBox::focusInEvent(QFocusEvent *event).
[override virtual protected] bool QDateTimeEdit::focusNextPrevChild(bool next)
Переопределяет: QWidget::focusNextPrevChild(bool next).
[protected] void QDateTimeEdit::initStyleOption(QStyleOptionSpinBox *option) const
Инициализирует option значениями из этого QDataTimeEdit. Этот метод полезен для подклассов, когда им нужен QStyleOptionSpinBox, но они не хотят заполнять всю информацию сами.
См. также QStyleOption::initFrom().
[override virtual protected] void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
Переопределяет: QAbstractSpinBox::keyPressEvent(QKeyEvent *event).
[override virtual protected] void QDateTimeEdit::mousePressEvent(QMouseEvent *event)
Переопределяет: QAbstractSpinBox::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QDateTimeEdit::paintEvent(QPaintEvent *event)
Переопределяет: QAbstractSpinBox::paintEvent(QPaintEvent *event).
QDateTimeEdit::Section QDateTimeEdit::sectionAt(int index) const
Возвращает раздел в позиции index.
Если формат — 'гггг/мм/дд', sectionAt(0) возвращает YearSection, sectionAt(1) возвращает MonthSection, а sectionAt(2) возвращает YearSection.
Эта функция была добавлена в Qt 4.3.
QString QDateTimeEdit::sectionText(QDateTimeEdit::Section section) const
Возвращает текст из заданного раздела section.
См. также currentSection().
void QDateTimeEdit::setCalendarWidget(QCalendarWidget *calendarWidget)
Устанавливает указанный calendarWidget как виджет, используемый для всплывающего календаря. Редактор не принимает на себя автоматическое управление виджетом календаря.
Примечание: calendarPopup должен быть установлен в значение true перед установкой виджета календаря.
Эта функция была добавлена в Qt 4.4.
См. также calendarWidget() и calendarPopup.
void QDateTimeEdit::setDateRange(const QDate &min, const QDate &max)
Удобная функция для установки минимальной и максимальной даты одним вызовом.
setDateRange(min, max);
аналогично:
setMinimumDate(min); setMaximumDate(max);
Если min или max некорректны, эта функция ничего не делает.
См. также setMinimumDate(), maximumDate(), setMaximumDate(), clearMinimumDate(), setMinimumTime(), maximumTime(), setMaximumTime(), clearMinimumTime() и QDate::isValid().
void QDateTimeEdit::setDateTimeRange(const QDateTime &min, const QDateTime &max)
Функция-удобство для установки минимального и максимального времени и даты одним вызовом.
setDateTimeRange(min, max);
аналогична:
setMinimumDateTime(min); setMaximumDateTime(max);
Если min или max некорректны, эта функция ничего не делает.
Эта функция была добавлена в Qt 4.4.
См. также setMinimumDate(), maximumDate(), setMaximumDate(), clearMinimumDate(), setMinimumTime(), maximumTime(), setMaximumTime(), clearMinimumTime() и QDateTime::isValid().
void QDateTimeEdit::setSelectedSection(QDateTimeEdit::Section section)
Выбирает section. Если section не существует в текущих отображаемых разделах, эта функция ничего не делает. Если section — NoSection, эта функция сбросит выделение всего текста в редакторе. В противном случае, функция переместит курсор и текущий раздел в выбранный раздел.
Эта функция была добавлена в Qt 4.2.
См. также currentSection().
void QDateTimeEdit::setTimeRange(const QTime &min, const QTime &max)
Функция-удобство для установки минимального и максимального времени одним вызовом.
setTimeRange(min, max);
аналогична:
setMinimumTime(min); setMaximumTime(max);
Если min или max некорректны, эта функция ничего не делает.
См. также setMinimumDate(), maximumDate(), setMaximumDate(), clearMinimumDate(), setMinimumTime(), maximumTime(), setMaximumTime(), clearMinimumTime() и QTime::isValid().
[override virtual] QSize QDateTimeEdit::sizeHint() const
Переопределяет: QAbstractSpinBox::sizeHint() const.
[override virtual] void QDateTimeEdit::stepBy(int steps)
Переопределяет: QAbstractSpinBox::stepBy(int steps).
[override virtual protected] QAbstractSpinBox::StepEnabled QDateTimeEdit::stepEnabled() const
Переопределяет: QAbstractSpinBox::stepEnabled() const.
[virtual protected] QString QDateTimeEdit::textFromDateTime(const QDateTime &dateTime) const
Эта виртуальная функция используется редактором времени и даты при необходимости отображения dateTime.
Если вы переопределяете эту функцию, возможно, вам также потребуется переопределить validate().
См. также dateTimeFromText() и validate().
QTime QDateTimeEdit::time() const
Возвращает время элемента редактирования даты и времени.
Примечание: Функция-геттер для свойства time.
См. также setTime().
[override virtual protected] QValidator::State QDateTimeEdit::validate(QString &text, int &pos) const
Переопределяет: QAbstractSpinBox::validate(QString &input, int &pos) const.
[override virtual protected] void QDateTimeEdit::wheelEvent(QWheelEvent *event)
Реализует: QAbstractSpinBox::wheelEvent(QWheelEvent *event).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qdatetimeedit.html