Spec-Zone.ru › Qt 5.12

Класс QCalendarWidget

Класс QCalendarWidget предоставляет виджет календаря на основе месяца, позволяющий пользователю выбирать дату. Подробнее...

Заголовок: #include <QCalendarWidget>
qmake: QT += widgets
С момента: Qt 4.2
Наследуется от: QWidget
  • Список всех членов, включая наследуемые
  • Устаревшие члены

Открытые типы

Перечисление ФорматГоризонтальнойЗаголовка { ОднобуквенныеДниНедели, КороткоеНаименованиеДнейНедели, ПолноеНаименованиеДнейНедели, БезГоризонтальнойЗаголовка }
Перечисление РежимВыбора { БезВыбора, ОдинВыбор }
Перечисление ФорматВертикальнойЗаголовка { НомераНедельISO, БезВертикальнойЗаголовка }

Свойства

  • ЗадержкаПринятияДаты : int
  • ВключитьРедактированиеДаты : bool
  • ПервыйДеньНедели : Qt::DayOfWeek
  • ПоказатьСетка : bool
  • ФорматГоризонтальнойЗаголовка : ФорматГоризонтальнойЗаголовка
  • МаксимальнаяДата : QDate
  • МинимальнаяДата : QDate
  • ПоказатьПанельНавигации : bool
  • ВыбраннаяДата : QDate
  • РежимВыбора : РежимВыбора
  • ФорматВертикальнойЗаголовка : ФорматВертикальнойЗаголовка
  • 59 свойств унаследовано от QWidget
  • 1 свойство унаследовано от QObject

Открытые функции

QCalendarWidget(QWidget *parent = nullptr)
virtual ~QCalendarWidget()
int dateEditAcceptDelay() const
QMap<QDate, QTextCharFormat> dateTextFormat() const
QTextCharFormat dateTextFormat(const QDate &date) const
Qt::DayOfWeek firstDayOfWeek() const
QTextCharFormat headerTextFormat() const
QCalendarWidget::HorizontalHeaderFormat horizontalHeaderFormat() const
bool isDateEditEnabled() const
bool isGridVisible() const
bool isNavigationBarVisible() const
QDate maximumDate() const
QDate minimumDate() const
int monthShown() const
QDate selectedDate() const
QCalendarWidget::SelectionMode selectionMode() const
void setDateEditAcceptDelay(int delay)
void setDateEditEnabled(bool enable)
void setDateTextFormat(const QDate &date, const QTextCharFormat &format)
void setFirstDayOfWeek(Qt::DayOfWeek dayOfWeek)
void setHeaderTextFormat(const QTextCharFormat &format)
void setHorizontalHeaderFormat(QCalendarWidget::HorizontalHeaderFormat format)
void setMaximumDate(const QDate &date)
void setMinimumDate(const QDate &date)
void setSelectionMode(QCalendarWidget::SelectionMode mode)
void setVerticalHeaderFormat(QCalendarWidget::VerticalHeaderFormat format)
void setWeekdayTextFormat(Qt::DayOfWeek dayOfWeek, const QTextCharFormat &format)
QCalendarWidget::VerticalHeaderFormat verticalHeaderFormat() const
QTextCharFormat weekdayTextFormat(Qt::DayOfWeek dayOfWeek) const
int yearShown() const

Реализованные общедоступные функции

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override
  • 214 общедоступных функций, унаследованных от QWidget
  • 31 общедоступной функции, унаследованной от QObject
  • 14 общедоступных функций, унаследованных от QPaintDevice

Общедоступные слоты

void setCurrentPage(int year, int month)
void setDateRange(const QDate &min, const QDate &max)
void setGridVisible(bool show)
void setNavigationBarVisible(bool visible)
void setSelectedDate(const QDate &date)
void showNextMonth()
void showNextYear()
void showPreviousMonth()
void showPreviousYear()
void showSelectedDate()
void showToday()
  • 19 общедоступных слотов, унаследованных от QWidget
  • 1 общедоступного слота, унаследованного от QObject

Сигналы

void activated(const QDate &date)
void clicked(const QDate &date)
void currentPageChanged(int year, int month)
void selectionChanged()
  • 3 сигнала, унаследованные от QWidget
  • 2 сигнала, унаследованные от QObject

Статические общедоступные члены

const QMetaObject staticMetaObject
  • 5 статических общедоступных членов, унаследованных от QWidget
  • 9 статических общедоступных членов, унаследованных от QObject

Защищенные функции

virtual void paintCell(QPainter *painter, const QRect &rect, const QDate &date) const
void updateCell(const QDate &date)
void updateCells()

Реализованные защищённые функции

virtual bool event(QEvent *event) override
virtual bool eventFilter(QObject *watched, QEvent *event) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override
  • 35 защищённых функций, унаследованных от QWidget
  • 9 защищённых функций, унаследованных от QObject
  • 1 защищённая функция, унаследованная от QPaintDevice

Дополнительные унаследованные члены

  • 1 защищённый слот, унаследованный от QWidget

Подробное описание

Класс QCalendarWidget предоставляет виджет календаря, отображающий месяц, позволяя пользователю выбирать дату.

Виджет инициализируется текущим месяцем и годом, но QCalendarWidget предоставляет несколько публичных слотов для изменения отображаемого года и месяца.

По умолчанию выбрана дата сегодня, и пользователь может выбрать дату с помощью мыши и клавиатуры. Текущую выбранную дату можно получить с помощью функции selectedDate(). Можно ограничить выбор пользователя заданным диапазоном дат, установив свойства minimumDate и maximumDate. В качестве альтернативы оба свойства можно установить сразу с помощью удобного слота setDateRange(). Установите свойство selectionMode в NoSelection, чтобы запретить пользователю любой выбор. Обратите внимание, что дату также можно выбрать программно, используя слот setSelectedDate().

Текущий отображаемый месяц и год можно получить, используя функции monthShown() и yearShown() соответственно.

Недавно созданный виджет календаря использует сокращённые названия дней недели, и суббота и воскресенье помечены красным цветом. Сетка календаря не отображается. Номера недель отображаются, и первым днём недели является первый день недели для локали календаря.

Формат отображения дней может быть изменён на однобуквенные аббревиатуры ("Пн" для "Понедельник") путём установки свойства horizontalHeaderFormat в QCalendarWidget::SingleLetterDayNames. Установка того же свойства в QCalendarWidget::LongDayNames отобразит полные названия дней в заголовке. Номера недель можно удалить, установив свойство verticalHeaderFormat в QCalendarWidget::NoVerticalHeader. Сетку календаря можно включить, установив свойство gridVisible в true, используя функцию setGridVisible():

QCalendarWidget *calendar;
calendar->setGridVisible(true);

Наконец, день в первом столбце может быть изменён с помощью функции setFirstDayOfWeek().

Класс QCalendarWidget также предоставляет три сигнала, selectionChanged(), activated() и currentPageChanged(), позволяющие реагировать на взаимодействие пользователя.

Отрисовку заголовков, дней недели или отдельных дней можно существенно настроить, установив QTextCharFormat для некоторых особых дней недели, специальной даты или для отрисовки заголовков.

END_OF_DOCUMENT_MARKER

Только подмножество свойств в QTextCharFormat используется виджетом календаря. В настоящее время свойства foreground, background и font используются для определения отрисовки отдельных ячеек в виджете.

См. также QDate, QDateEdit и QTextCharFormat.

Документация по типам членов

enum QCalendarWidget::HorizontalHeaderFormat

Этот тип перечисления определяет различные форматы, которые может отображать горизонтальная заголовок.

Константа Значение Описание
QCalendarWidget::SingleLetterDayNames 1 Заголовок отображает однобуквенное сокращение для названий дней (например, Пн для понедельника).
QCalendarWidget::ShortDayNames 2 Заголовок отображает короткое сокращение для названий дней (например, Пн для понедельника).
QCalendarWidget::LongDayNames 3 Заголовок отображает полные названия дней (например, понедельник).
QCalendarWidget::NoHorizontalHeader 0 Заголовок скрыт.

См. также horizontalHeaderFormat() и VerticalHeaderFormat.

enum QCalendarWidget::SelectionMode

Это перечисление описывает типы выбора, предлагаемые пользователю для выбора дат в календаре.

Константа Значение Описание
QCalendarWidget::NoSelection 0 Даты нельзя выбрать.
QCalendarWidget::SingleSelection 1 Можно выбрать одиночные даты.

См. также selectionMode.

enum QCalendarWidget::VerticalHeaderFormat

Этот тип перечисления определяет различные форматы, которые может отображать вертикальная заголовок.

Константа Значение Описание
QCalendarWidget::ISOWeekNumbers 1 Заголовок отображает номера недель ISO, как описано в QDate::weekNumber().
QCalendarWidget::NoVerticalHeader 0 Заголовок скрыт.

См. также verticalHeaderFormat() и HorizontalHeaderFormat.

Документация по свойствам

dateEditAcceptDelay : int

Это свойство хранит время, в течение которого неактивное редактирование даты отображается, прежде чем его содержимое будет принято.

Если редактирование даты в виджете календаря включено, это свойство определяет количество времени (в миллисекундах), в течение которого редактирование даты остается открытым после последнего ввода пользователем. По истечении этого времени дата, указанная в редактировании даты, принимается, а всплывающее окно закрывается.

По умолчанию задержка составляет 1500 миллисекунд (1,5 секунды).

Это свойство было введено в Qt 4.3.

Функции доступа:

int dateEditAcceptDelay() const
void setDateEditAcceptDelay(int delay)

dateEditEnabled : bool

Это свойство указывает, включено ли всплывающее окно редактирования даты.

Если это свойство включено, нажатие клавиши без модификаторов вызовет всплывающее окно редактирования даты, если виджет календаря имеет фокус, что позволит пользователю указать дату в формате, заданном текущим языковым окружением.

По умолчанию это свойство включено.

Редактирование даты имеет более простой вид, чем QDateEdit, но позволяет пользователю перемещаться между полями с помощью клавиш со стрелками влево и вправо, увеличивать и уменьшать отдельные поля с помощью клавиш со стрелками вверх и вниз и вводить значения непосредственно с помощью цифровых клавиш.

Это свойство было введено в Qt 4.3.

Функции доступа:

bool isDateEditEnabled() const
void setDateEditEnabled(bool enable)

См. также QCalendarWidget::dateEditAcceptDelay.

firstDayOfWeek : Qt::DayOfWeek

Это свойство содержит значение, определяющее день, отображаемый в первом столбце.

По умолчанию днем, отображаемым в первом столбце, является первый день недели для языкового окружения календаря.

Функции доступа:

Qt::DayOfWeek firstDayOfWeek() const
void setFirstDayOfWeek(Qt::DayOfWeek dayOfWeek)

gridVisible : bool

Это свойство указывает, отображается ли сетка таблицы.

QCalendarWidget *calendar;
calendar->setGridVisible(true);

Значение по умолчанию — false.

Функции доступа:

bool isGridVisible() const
void setGridVisible(bool show)

horizontalHeaderFormat : HorizontalHeaderFormat

Это свойство хранит формат горизонтальной заголовка.

Значение по умолчанию — QCalendarWidget::ShortDayNames.

Функции доступа:

QCalendarWidget::HorizontalHeaderFormat horizontalHeaderFormat() const
void setHorizontalHeaderFormat(QCalendarWidget::HorizontalHeaderFormat format)

maximumDate : QDate

Это свойство хранит максимальную дату текущего диапазона дат.

Пользователь не сможет выбрать дату, которая следует за текущей максимальной датой.

QCalendarWidget *calendar;
calendar->setGridVisible(true);
calendar->setMaximumDate(QDate(2006, 7, 3));

По умолчанию максимальная дата — последний день, который может обработать класс QDate.

При установке максимальной даты свойства minimumDate и selectedDate корректируются, если диапазон выбора становится недействительным. Если предоставленная дата не является допустимым объектом QDate, функция setMaximumDate() ничего не делает.

Функции доступа:

QDate maximumDate() const
void setMaximumDate(const QDate &date)

См. также setDateRange().

minimumDate : QDate

Это свойство содержит минимальную дату текущего заданного диапазона дат.

Пользователь не сможет выбрать дату, предшествующую текущей минимальной дате.

QCalendarWidget *calendar;
calendar->setGridVisible(true);
calendar->setMinimumDate(QDate(2006, 6, 19));

По умолчанию минимальная дата — это самая ранняя дата, которую может обработать класс QDate.

При установке минимальной даты свойства maximumDate и selectedDate корректируются, если диапазон выбора становится недействительным. Если предоставленная дата не является допустимым объектом QDate, функция setMinimumDate() ничего не делает.

Функции доступа:

QDate minimumDate() const
void setMinimumDate(const QDate &date)

См. также setDateRange().

navigationBarVisible : bool

Это свойство указывает, отображается ли панель навигации.

Когда это свойство true (по умолчанию), отображаются элементы управления следующего/предыдущего месяца, выбором месяца и года вверху.

При установке свойства в значение false эти элементы управления скрываются.

Это свойство было добавлено в Qt 4.3.

Функции доступа:

bool isNavigationBarVisible() const
void setNavigationBarVisible(bool visible)

selectedDate : QDate

Это свойство содержит текущую выбранную дату.

Выбранная дата должна находиться в диапазоне дат, заданном свойствами minimumDate и maximumDate. По умолчанию выбранная дата — текущая дата.

Функции доступа:

QDate selectedDate() const
void setSelectedDate(const QDate &date)

См. также setDateRange().

selectionMode : SelectionMode

Это свойство определяет тип выбора, который может сделать пользователь в календаре.

Когда это свойство установлено в SingleSelection, пользователь может выбрать дату в пределах разрешенных минимальной и максимальной дат, используя мышь или клавиатуру.

Когда свойство установлено в NoSelection, пользователь не сможет выбирать даты, но их можно будет выбрать программно. Обратите внимание, что дата, выбранная при установке свойства в NoSelection, по-прежнему будет выбранной датой календаря.

Значение по умолчанию — SingleSelection.

Функции доступа:

QCalendarWidget::SelectionMode selectionMode() const
void setSelectionMode(QCalendarWidget::SelectionMode mode)

verticalHeaderFormat : VerticalHeaderFormat

Это свойство определяет формат вертикального заголовка.

Значение по умолчанию — QCalendarWidget::ISOWeekNumber.

Функции доступа:

QCalendarWidget::VerticalHeaderFormat формаВертикальногоЗаголовка() const
void установитьФормуВертикальногоЗаголовка(QCalendarWidget::VerticalHeaderFormat форма)

Документация по членам-функциям

QCalendarWidget::QCalendarWidget(QWidget *родитель = nullptr)

Создаёт виджет календаря с заданным родителем.

Виджет инициализируется текущим месяцем и годом, а выбранная дата — сегодня.

См. также setCurrentPage().

[virtual] QCalendarWidget::~QCalendarWidget()

Уничтожает виджет календаря.

[signal] void QCalendarWidget::activated(const QDate &дата)

Этот сигнал испускается всякий раз, когда пользователь нажимает клавишу Return или Enter, или дважды щелкает по дате в виджете календаря.

[signal] void QCalendarWidget::clicked(const QDate &дата)

Этот сигнал испускается при нажатии кнопки мыши. Дата, по которой был произведен щелчок, указана параметром дата. Сигнал испускается только при нажатии на допустимую дату, например, даты не выходят за пределы minimumDate() и maximumDate(). Если режим выбора — NoSelection, этот сигнал не будет испущен.

[signal] void QCalendarWidget::currentPageChanged(int год, int месяц)

Этот сигнал испускается при изменении отображаемого месяца. Новый год и месяц передаются в качестве параметров.

См. также setCurrentPage().

QMap<QDate, QTextCharFormat> QCalendarWidget::формаТекстаДаты() const

Возвращает QMap из QDate в QTextCharFormat, показывающий все даты, использующие специальный формат, который изменяет их отображение.

См. также setDateTextFormat().

QTextCharFormat QCalendarWidget::формаТекстаДаты(const QDate &дата) const

Возвращает QTextCharFormat для даты. Формат символа может быть пустым, если дата не отображается особо.

[override virtual protected] bool QCalendarWidget::event(QEvent *событие)

Переопределено из QWidget::event().

[override virtual protected] bool QCalendarWidget::eventFilter(QObject *отслеживаемый, QEvent *событие)

Переопределено из QObject::eventFilter().

QTextCharFormat QCalendarWidget::формаТекстаЗаголовка() const

Возвращает формат символьного текста для отображения заголовка.

См. также setHeaderTextFormat().

[override virtual protected] void QCalendarWidget::keyPressEvent(QKeyEvent *событие)

Переопределено из QWidget::keyPressEvent().

[override virtual] QSize QCalendarWidget::минимальныйРазмерПодсказки() const

Переопределено из QWidget::minimumSizeHint().

int QCalendarWidget::отображаемыйМесяц() const

Возвращает отображаемый в данный момент месяц. Месяцы пронумерованы от 1 до 12.

См. также yearShown() и setCurrentPage().

[override virtual protected] void QCalendarWidget::mousePressEvent(QMouseEvent *событие)

Переопределено из QWidget::mousePressEvent().

[virtual protected] void QCalendarWidget::paintCell(QPainter *painter, const QRect &rect, const QDate &date) const

Отображает ячейку, заданную заданной датой date, используя заданный painter и rect.

[override virtual protected] void QCalendarWidget::resizeEvent(QResizeEvent *event)

Переопределено из QWidget::resizeEvent().

[signal] void QCalendarWidget::selectionChanged()

Этот сигнал испускается при изменении текущей выбранной даты.

Текущая выбранная дата может быть изменена пользователем с помощью мыши или клавиатуры, или программистом с помощью setSelectedDate().

См. также selectedDate().

[slot] void QCalendarWidget::setCurrentPage(int year, int month)

Отображает заданный month года year без изменения выбранной даты. Используйте функцию setSelectedDate(), чтобы изменить выбранную дату.

Текущий отображаемый месяц и год можно получить, используя функции monthShown() и yearShown() соответственно.

См. также yearShown(), monthShown(), showPreviousMonth(), showNextMonth(), showPreviousYear() и showNextYear().

[slot] void QCalendarWidget::setDateRange(const QDate &min, const QDate &max)

Определяет диапазон дат, устанавливая свойства minimumDate и maximumDate.

Диапазон дат ограничивает выбор пользователя, т. е. пользователь может выбирать только даты в указанном диапазоне дат. Обратите внимание, что

QCalendarWidget *calendar;

calendar->setDateRange(min, max);

аналогично

QCalendarWidget *calendar;

calendar->setMinimumDate(min);
calendar->setMaximumDate(max);

Если любой из параметров min или max не является допустимым объектом QDate, эта функция ничего не делает.

См. также setMinimumDate() и setMaximumDate().

void QCalendarWidget::setDateTextFormat(const QDate &date, const QTextCharFormat &format)

Устанавливает формат, используемый для отображения заданной date, в соответствии с format.

Если date равно null, все форматы дат очищаются.

См. также dateTextFormat().

void QCalendarWidget::setHeaderTextFormat(const QTextCharFormat &format)

Устанавливает формат символьного текста для отображения заголовка в format. Если вы также установили формат текста дня недели, цвет переднего и заднего плана этого формата будет иметь приоритет над форматом заголовка. Другая информация о форматировании всё ещё будет определяться форматом заголовка.

См. также headerTextFormat().

void QCalendarWidget::setWeekdayTextFormat(Qt::DayOfWeek dayOfWeek, const QTextCharFormat &format)

Устанавливает формат символьного текста для отображения дня недели dayOfWeek в format. Формат будет иметь приоритет над форматом заголовка в случае цвета переднего и заднего плана. Другая информация о форматировании текста берется из формата заголовка.

См. также weekdayTextFormat() и setHeaderTextFormat().

[slot] void QCalendarWidget::showNextMonth()

Отображает следующий месяц относительно текущего отображаемого месяца. Обратите внимание, что выбранная дата не меняется.

См. также showPreviousMonth(), setCurrentPage() и setSelectedDate().

[slot] void QCalendarWidget::showNextYear()

Отображает текущий месяц в следующем году относительно текущего отображаемого года. Обратите внимание, что выбранная дата не изменяется.

См. также showPreviousYear(), setCurrentPage() и setSelectedDate().

[slot] void QCalendarWidget::showPreviousMonth()

Отображает предыдущий месяц относительно текущего отображаемого месяца. Обратите внимание, что выбранная дата не изменяется.

См. также showNextMonth(), setCurrentPage() и setSelectedDate().

[slot] void QCalendarWidget::showPreviousYear()

Отображает текущий месяц в предыдущем году относительно текущего отображаемого года. Обратите внимание, что выбранная дата не изменяется.

См. также showNextYear(), setCurrentPage() и setSelectedDate().

[slot] void QCalendarWidget::showSelectedDate()

Отображает месяц выбранной даты.

См. также selectedDate() и setCurrentPage().

[slot] void QCalendarWidget::showToday()

Отображает месяц текущей даты.

См. также selectedDate() и setCurrentPage().

[override virtual] QSize QCalendarWidget::sizeHint() const

Переопределено из QWidget::sizeHint().

[protected] void QCalendarWidget::updateCell(const QDate &date)

Обновляет ячейку, указанную заданной датой date, если обновления не отключены и ячейка не скрыта.

Эта функция была введена в Qt 4.4.

См. также updateCells(), yearShown() и monthShown().

[protected] void QCalendarWidget::updateCells()

Обновляет все видимые ячейки, если обновления не отключены.

Эта функция была введена в Qt 4.4.

См. также updateCell().

QTextCharFormat QCalendarWidget::weekdayTextFormat(Qt::DayOfWeek dayOfWeek) const

Возвращает форматирование символов текста для отображения дня недели dayOfWeek.

См. также setWeekdayTextFormat() и headerTextFormat().

int QCalendarWidget::yearShown() const

Возвращает год текущего отображаемого месяца. Месяцы нумеруются от 1 до 12.

См. также monthShown() и setCurrentPage().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qcalendarwidget.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API