Класс QDateTimeEdit
Класс QDateTimeEdit предоставляет виджет для редактирования дат и времени. Подробнее...
| Заголовок: | #include <QDateTimeEdit> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractSpinBox |
| Наследует: |
Открытые типы
| перечисление | Раздел { НетРаздела, РазделЧасовAMPM, РазделМиллисекунд, РазделСекунд, ..., РазделГод } |
| флаги | Разделы |
Свойства
|
|
- 12 свойств, унаследованных от QAbstractSpinBox
- 59 свойств, унаследованных от QWidget
- 1 свойство, унаследованное от QObject
Открытые функции
| QDateTimeEdit(QWidget *parent = nullptr) | |
| QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr) | |
| QDateTimeEdit(const QDate &date, QWidget *parent = nullptr) | |
| QDateTimeEdit(const QTime &time, 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 |
- 30 публичных функций, унаследованных от QAbstractSpinBox
- 214 публичных функций, унаследованных от QWidget
- 34 публичных функций, унаследованных от QObject
- 14 публичных функций, унаследованных от QPaintDevice
Публичные слоты
| void | setDate(const QDate &date) |
| void | setDateTime(const QDateTime &dateTime) |
| void | setTime(const QTime &time) |
- 4 публичных слота, унаследованных от QAbstractSpinBox
- 19 публичных слотов, унаследованных от QWidget
- 1 публичный слот, унаследованный от QObject
Сигналы
| void | dateChanged(const QDate &date) |
| void | dateTimeChanged(const QDateTime &datetime) |
| void | timeChanged(const QTime &time) |
- 1 сигнал, унаследованный от QAbstractSpinBox
- 3 сигнала, унаследованные от QWidget
- 2 сигнала, унаследованные от QObject
Защищённые функции
| virtual QDateTime | dateTimeFromText(const QString &text) const |
| void | initStyleOption(QStyleOptionSpinBox *option) const |
| virtual QString | textFromDateTime(const QDateTime &dateTime) const |
Переопределённые защищённые функции
| virtual void | fixup(QString &input) const override |
| virtual void | focusInEvent(QFocusEvent *event) override |
| virtual bool | focusNextPrevChild(bool next) override |
| virtual void | keyPressEvent(QKeyEvent *event) override |
| virtual void | mousePressEvent(QMouseEvent *event) override |
| virtual void | paintEvent(QPaintEvent *event) override |
| virtual QAbstractSpinBox::StepEnabled | stepEnabled() const override |
| virtual QValidator::State | validate(QString &text, int &pos) const override |
| virtual void | wheelEvent(QWheelEvent *event) override |
- 20 защищённых функций, унаследованных от QAbstractSpinBox
- 35 защищённых функций, унаследованных от QWidget
- 9 защищённых функций, унаследованных от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 1 общедоступная переменная, унаследованная от QObject
- 5 статические общедоступные члены, унаследованные от QWidget
- 10 статических общедоступных членов, унаследованных от QObject
- 1 защищённый слот, унаследованный от QWidget
- 2 защищённые переменные, унаследованные от QObject
- 1 защищённый тип, унаследованный от QPaintDevice
Подробное описание
Класс QDateTimeEdit предоставляет виджет для редактирования дат и времени.
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.
Документация по типам членов
enum QDateTimeEdit::Sectionflags 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
Это свойство содержит текущую секцию спинбокса setCurrentSection()
Функции доступа:
| QDateTimeEdit::Section | currentSection() const |
| void | setCurrentSection(QDateTimeEdit::Section section) |
currentSectionIndex : int
Это свойство содержит текущий индекс секции спинбокса
Если формат — 'гггг/мм/дд', 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, эта функция ничего не делает.
По умолчанию это свойство может быть восстановлено с помощью 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, эта функция ничего не делает.
По умолчанию минимальные значения для даты и времени можно восстановить с помощью 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
Это свойство содержит текущий timespec, используемый редактором даты и времени.
Это свойство было добавлено в Qt 4.4.
Функции доступа:
| Qt::TimeSpec | timeSpec() const |
| void | setTimeSpec(Qt::TimeSpec spec) |
Документация по членам-функциям
QDateTimeEdit::QDateTimeEdit(QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с указанным parent.
QDateTimeEdit::QDateTimeEdit(const QDateTime &datetime, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с указанным parent. Значение установлено в datetime.
QDateTimeEdit::QDateTimeEdit(const QDate &date, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с указанным parent. Значение установлено в date.
QDateTimeEdit::QDateTimeEdit(const QTime &time, QWidget *parent = nullptr)
Конструирует пустой редактор даты и времени с указанным parent. Значение установлено в 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().
QDate QDateTimeEdit::date() const
Возвращает дату редактора даты и времени.
Примечание: Функция-получатель для свойства date.
См. также setDate().
[signal] void QDateTimeEdit::dateChanged(const QDate &date)
Этот сигнал генерируется при изменении даты. Новая дата передаётся в date.
Примечание: Сигнал уведомления для свойства date.
[signal] void QDateTimeEdit::dateTimeChanged(const QDateTime &datetime)
Этот сигнал генерируется при изменении даты или времени. Новая дата и время передаются в datetime.
Примечание: Сигнал уведомления для свойства dateTime.
[virtual protected] QDateTime QDateTimeEdit::dateTimeFromText(const QString &text) const
Возвращает подходящую дату и время для заданного значения text.
Эта виртуальная функция используется редактором даты и времени всякий раз, когда ему нужно интерпретировать текст, введенный пользователем, как значение.
См. также textFromDateTime() и validate().
[override virtual] bool QDateTimeEdit::event(QEvent *event)
Переопределено из QAbstractSpinBox::event().
[override virtual protected] void QDateTimeEdit::fixup(QString &input) const
Переопределено из QAbstractSpinBox::fixup().
[override virtual protected] void QDateTimeEdit::focusInEvent(QFocusEvent *event)
Переопределено из QAbstractSpinBox::focusInEvent().
[override virtual protected] bool QDateTimeEdit::focusNextPrevChild(bool next)
Переопределено из QWidget::focusNextPrevChild().
[protected] void QDateTimeEdit::initStyleOption(QStyleOptionSpinBox *option) const
Инициализирует option значениями из этого QDataTimeEdit. Этот метод полезен для подклассов, когда им требуется QStyleOptionSpinBox, но они не хотят заполнять всю информацию самостоятельно.
См. также QStyleOption::initFrom().
[override virtual protected] void QDateTimeEdit::keyPressEvent(QKeyEvent *event)
Переопределено из QAbstractSpinBox::keyPressEvent().
[override virtual protected] void QDateTimeEdit::mousePressEvent(QMouseEvent *event)
Переопределено из QAbstractSpinBox::mousePressEvent().
[override virtual protected] void QDateTimeEdit::paintEvent(QPaintEvent *event)
Переопределено из QAbstractSpinBox::paintEvent().
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().
[override virtual] void QDateTimeEdit::stepBy(int steps)
Переопределено из QAbstractSpinBox::stepBy().
[override virtual protected] QAbstractSpinBox::StepEnabled QDateTimeEdit::stepEnabled() const
Переопределено из QAbstractSpinBox::stepEnabled().
[virtual protected] QString QDateTimeEdit::textFromDateTime(const QDateTime &dateTime) const
Эта виртуальная функция используется редактором даты и времени всякий раз, когда ему нужно отобразить dateTime.
Если вы переопределите эту функцию, вам, возможно, также потребуется переопределить validate().
См. также dateTimeFromText() и validate().
QTime QDateTimeEdit::time() const
Возвращает время редактора даты и времени.
Примечание: Функция-получатель для свойства time.
См. также setTime().
[signal] void QDateTimeEdit::timeChanged(const QTime &time)
Этот сигнал генерируется всякий раз, когда время изменяется. Новое время передается в time.
Примечание: Сигнал-уведомление для свойства time.
[override virtual protected] QValidator::State QDateTimeEdit::validate(QString &text, int &pos) const
Переопределено из QAbstractSpinBox::validate().
[override virtual protected] void QDateTimeEdit::wheelEvent(QWheelEvent *event)
Переопределено из QAbstractSpinBox::wheelEvent().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qdatetimeedit.html