Класс QHeaderView
Класс QHeaderView предоставляет строку или столбец заголовка для представлений элементов. Подробнее...
| Заголовок: | #include <QHeaderView> |
| qmake: | QT += widgets |
| Наследуется от: | QAbstractItemView |
Открытые типы
| Перечисление | ResizeMode { Interactive, Fixed, Stretch, ResizeToContents, Custom } |
Свойства
|
|
Открытые функции
| QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr) | |
| virtual | ~QHeaderView() |
| bool | cascadingSectionResizes() const |
| int | count() const |
| Qt::Alignment | defaultAlignment() const |
| int | defaultSectionSize() const |
| int | hiddenSectionCount() const |
| void | hideSection(int logicalIndex) |
| bool | highlightSections() const |
| bool | isFirstSectionMovable() const |
| bool | isSectionHidden(int logicalIndex) const |
| bool | isSortIndicatorShown() const |
| int | length() const |
| int | logicalIndex(int visualIndex) const |
| int | logicalIndexAt(int position) const |
| int | logicalIndexAt(int x, int y) const |
| int | logicalIndexAt(const QPoint &pos) const |
| int | maximumSectionSize() const |
| int | minimumSectionSize() const |
| void | moveSection(int from, int to) |
| int | offset() const |
| Qt::Orientation | orientation() const |
| void | resetDefaultSectionSize() |
| int | resizeContentsPrecision() const |
| void | resizeSection(int logicalIndex, int size) |
| void | resizeSections(QHeaderView::ResizeMode mode) |
| bool | restoreState(const QByteArray &state) |
| QByteArray | saveState() const |
| int | sectionPosition(int logicalIndex) const |
| QHeaderView::ResizeMode | sectionResizeMode(int logicalIndex) const |
| int | sectionSize(int logicalIndex) const |
| int | sectionSizeHint(int logicalIndex) const |
| int | sectionViewportPosition(int logicalIndex) const |
| bool | sectionsClickable() const |
| bool | sectionsHidden() const |
| bool | sectionsMovable() const |
| bool | sectionsMoved() const |
| void | setCascadingSectionResizes(bool enable) |
| void | setDefaultAlignment(Qt::Alignment alignment) |
| void | setDefaultSectionSize(int size) |
| void | setFirstSectionMovable(bool movable) |
| void | setHighlightSections(bool highlight) |
| void | setMaximumSectionSize(int size) |
| void | setMinimumSectionSize(int size) |
| void | setResizeContentsPrecision(int precision) |
| void | setSectionHidden(int logicalIndex, bool hide) |
| void | setSectionResizeMode(QHeaderView::ResizeMode mode) |
| void | setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode) |
| void | setSectionsClickable(bool clickable) |
| void | setSectionsMovable(bool movable) |
| void | setSortIndicator(int logicalIndex, Qt::SortOrder order) |
| void | setSortIndicatorShown(bool show) |
| void | setStretchLastSection(bool stretch) |
| void | showSection(int logicalIndex) |
| Qt::SortOrder | sortIndicatorOrder() const |
| int | sortIndicatorSection() const |
| bool | stretchLastSection() const |
| int | stretchSectionCount() const |
| void | swapSections(int first, int second) |
| int | visualIndex(int logicalIndex) const |
| int | visualIndexAt(int position) const |
Реализованные публичные функции
| virtual void | reset() override |
| virtual void | setModel(QAbstractItemModel *model) override |
| virtual void | setVisible(bool v) override |
| virtual QSize | sizeHint() const override |
Публичные слоты
| void | headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast) |
| void | setOffset(int offset) |
| void | setOffsetToLastSection() |
| void | setOffsetToSectionPosition(int visualSectionNumber) |
Сигналы
| void | geometriesChanged() |
| void | sectionClicked(int logicalIndex) |
| void | sectionCountChanged(int oldCount, int newCount) |
| void | sectionDoubleClicked(int logicalIndex) |
| void | sectionEntered(int logicalIndex) |
| void | sectionHandleDoubleClicked(int logicalIndex) |
| void | sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex) |
| void | sectionPressed(int logicalIndex) |
| void | sectionResized(int logicalIndex, int oldSize, int newSize) |
| void | sortIndicatorChanged(int logicalIndex, Qt::SortOrder order) |
Защищенные функции
| void | initStyleOption(QStyleOptionHeader *option) const |
| virtual void | paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const |
| virtual QSize | sectionSizeFromContents(int logicalIndex) const |
Переопределённые защищённые функции
| virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &old) override |
| virtual bool | event(QEvent *e) override |
| virtual int | horizontalOffset() const override |
| virtual void | mouseDoubleClickEvent(QMouseEvent *e) override |
| virtual void | mouseMoveEvent(QMouseEvent *e) override |
| virtual void | mousePressEvent(QMouseEvent *e) override |
| virtual void | mouseReleaseEvent(QMouseEvent *e) override |
| virtual void | paintEvent(QPaintEvent *e) override |
| virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) override |
| virtual int | verticalOffset() const override |
| virtual bool | viewportEvent(QEvent *e) override |
Защищённые слоты
| void | resizeSections() |
| void | sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast) |
| void | sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast) |
Подробное описание
QHeaderView отображает заголовки, используемые в представлениях элементов, таких как QTableView и QTreeView. Он заменяет класс Qt3 QHeader, ранее использовавшийся для той же цели, но использует архитектуру Qt модель/представление для согласованности с классами представлений элементов.
Класс QHeaderView — один из классов модели/представления и входит в состав фреймворка модели/представления Qt.
Заголовок получает данные для каждого раздела из модели с помощью функции QAbstractItemModel::headerData(). Вы можете задать данные, используя QAbstractItemModel::setHeaderData().
Каждый заголовок имеет направление() и определённое количество разделов, задаваемое функцией count(). Раздел относится к части заголовка — строке или столбцу, в зависимости от направления.
Разделы можно перемещать и изменять размер с помощью moveSection() и resizeSection(); их также можно скрывать и показывать с помощью hideSection() и showSection().
Каждый раздел заголовка описывается идентификатором раздела, указанным в section(), и может быть расположен в определённом visualIndex() в заголовке. Для раздела можно установить индикатор сортировки с помощью setSortIndicator(); это указывает, будут ли элементы в соответствующем представлении элементов отсортированы в порядке, заданном разделом.
Для горизонтального заголовка раздел эквивалентен столбцу в модели, а для вертикального заголовка — строке в модели.
Перемещение разделов заголовка
Заголовок может быть зафиксирован на месте или перемещаемым с помощью setSectionsMovable(). Он может быть настраиваемым на нажатия с помощью setSectionsClickable(), и имеет поведение изменения размера в соответствии с setSectionResizeMode().
Примечание: Двойной щелчок по заголовку для изменения размера раздела применяется только для видимых строк.
Заголовок будет излучать sectionMoved(), если пользователь переместит раздел, sectionResized(), если пользователь изменит размер раздела, и sectionClicked(), а также sectionHandleDoubleClicked() в ответ на щелчки мыши. Заголовок также будет излучать sectionCountChanged().
Раздел можно идентифицировать с помощью функций logicalIndex() и logicalIndexAt() или по его индексу с помощью функций visualIndex() и visualIndexAt(). Визуальный индекс изменится, если раздел будет перемещён, но логический индекс останется неизменным.
Внешний вид
QTableWidget и QTableView создают заголовки по умолчанию. Если вы хотите, чтобы заголовки были видимыми, вы можете использовать setVisible().
Не все ItemDataRole окажут влияние на QHeaderView. Если вам нужно отобразить другие роли, вы можете унаследовать от QHeaderView и переопределить paintEvent(). QHeaderView учитывает следующие роли данных элементов, если они не конфликтуют со стилем (что может произойти для стилей, которые следуют за темой рабочего стола):
TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole и BackgroundRole.
Примечание: Каждый заголовок сам отображает данные для каждого раздела и не полагается на делегат. В результате вызов функции setItemDelegate() заголовка не окажет никакого влияния.
См. также Программирование модели/представления, QListView, QTableView и QTreeView.
Документация по типам членов
enum QHeaderView::ResizeMode
Режим изменения размера определяет поведение разделов заголовка. Его можно задать для всего представления заголовка или для отдельных разделов с помощью setSectionResizeMode().
| Постоянная | Значение | Описание |
|---|---|---|
QHeaderView::Interactive |
0 |
Пользователь может изменить размер раздела. Размер раздела также можно изменить программно с помощью resizeSection(). Размер раздела по умолчанию равен defaultSectionSize. (См. также cascadingSectionResizes.) |
QHeaderView::Fixed |
2 |
Пользователь не может изменить размер раздела. Размер раздела можно изменить только программно с помощью resizeSection(). Размер раздела по умолчанию равен defaultSectionSize. |
QHeaderView::Stretch |
1 |
QHeaderView автоматически изменит размер раздела, чтобы заполнить доступное пространство. Размер нельзя изменить ни пользователем, ни программно. |
QHeaderView::ResizeToContents |
3 |
QHeaderView автоматически изменит размер раздела до оптимального размера, основываясь на содержимом всего столбца или строки. Размер нельзя изменить ни пользователем, ни программно. (Это значение было введено в 4.2) |
Следующие значения устарели:
| Постоянная | Значение | Описание |
|---|---|---|
QHeaderView::Custom |
Fixed |
Используйте Fixed вместо него. |
См. также setSectionResizeMode(), stretchLastSection и minimumSectionSize.
Документация свойств
cascadingSectionResizes : bool
Это свойство указывает, будет ли интерактивное изменение размера каскадироваться на последующие разделы, когда раздел, изменяемый пользователем, достигнет своего минимального размера.
Это свойство влияет только на разделы, у которых режим изменения размера Interactive.
Значение по умолчанию — false.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| bool | cascadingSectionResizes() const |
| void | setCascadingSectionResizes(bool enable) |
См. также setSectionResizeMode().
defaultAlignment : Qt::Alignment
Это свойство содержит выравнивание текста по умолчанию для каждого раздела заголовка.
Это свойство было добавлено в Qt 4.1.
Функции доступа:
| Qt::Alignment | defaultAlignment() const |
| void | setDefaultAlignment(Qt::Alignment alignment) |
defaultSectionSize : int
Это свойство содержит размер разделов заголовка по умолчанию до изменения размера.
Это свойство влияет только на разделы, у которых режим изменения размера Interactive или Fixed.
По умолчанию значение этого свойства зависит от стиля. Таким образом, при изменении стиля это свойство обновляется из него. Вызов setDefaultSectionSize() останавливает обновления, вызов resetDefaultSectionSize() восстановит стандартное поведение.
Функции доступа:
| int | defaultSectionSize() const |
| void | setDefaultSectionSize(int size) |
| void | resetDefaultSectionSize() |
См. также setSectionResizeMode() и minimumSectionSize.
firstSectionMovable : bool
Это свойство указывает, можно ли пользователю перемещать первый столбец.
Это свойство управляет возможностью перемещения первого столбца пользователем. В QTreeView первый столбец содержит структуру дерева и поэтому по умолчанию не может быть перемещён, даже после вызова setSectionsMovable(true).
Его можно сделать перемещаемым снова, например, в случае плоских списков без структуры дерева, вызвав этот метод. В такой ситуации рекомендуется также вызвать QTreeView::setRootIsDecorated(false).
Устанавливая его в значение true, никакого эффекта не будет, если не вызвать setSectionsMovable(true).
Это свойство было добавлено в Qt 5.11.
Функции доступа:
| bool | isFirstSectionMovable() const |
| void | setFirstSectionMovable(bool movable) |
См. также setSectionsMovable().
highlightSections : bool
Это свойство указывает, будут ли выделены разделы, содержащие выбранные элементы.
По умолчанию это свойство равно false.
Функции доступа:
| bool | highlightSections() const |
| void | setHighlightSections(bool highlight) |
maximumSectionSize : int
Это свойство содержит максимальный размер разделов заголовка.
Максимальный размер раздела — это наибольший разрешённый размер раздела. Значение по умолчанию для этого свойства — 1048575, что также является максимальным возможным размером раздела. Установка maximum в -1 сбросит значение до максимального размера раздела.
За исключением растяжения, это свойство учитывается всеми режимами изменения размера.
Это свойство было добавлено в Qt 5.2.
Функции доступа:
| int | maximumSectionSize() const |
| void | setMaximumSectionSize(int size) |
См. также setSectionResizeMode() и defaultSectionSize.
minimumSectionSize : int
Это свойство содержит минимальный размер разделов заголовка.
Минимальный размер раздела — это наименьший разрешённый размер раздела. Если минимальный размер раздела установлен в -1, QHeaderView будет использовать максимум из глобального отступа или размера шрифтовой метрики.
Это свойство учитывается всеми режимами изменения размера.
Это свойство было добавлено в Qt 4.2.
Функции доступа:
| int | minimumSectionSize() const |
| void | setMinimumSectionSize(int size) |
См. также setSectionResizeMode() и defaultSectionSize.
showSortIndicator : bool
Это свойство указывает, отображается ли индикатор сортировки.
По умолчанию это свойство равно false.
Функции доступа:
| bool | isSortIndicatorShown() const |
| void | setSortIndicatorShown(bool show) |
См. также setSectionsClickable().
stretchLastSection : bool
Это свойство указывает, занимает ли последний видимый раздел заголовка всё доступное пространство.
Значение по умолчанию — false.
Примечание: Горизонтальные заголовки, предоставляемые QTreeView, настроены с этим свойством, установленным в значение true, гарантируя, что представление не тратит ни одного из выделенного для него пространства на заголовок. Если это значение установлено в true, это свойство переопределит режим изменения размера, установленный для последнего раздела в заголовке.
Функции доступа:
| bool | stretchLastSection() const |
| void | setStretchLastSection(bool stretch) |
См. также setSectionResizeMode().
Документация по членам-функциям
QHeaderView::QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr)
Создаёт новый общий заголовок с заданной ориентацией и родительским элементом.
[signal] void QHeaderView::geometriesChanged()
Этот сигнал испускается, когда геометрия заголовка изменилась.
Эта функция была добавлена в Qt 4.2.
[slot] void QHeaderView::headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast)
Обновляет изменённые разделы заголовка с заданной ориентацией, от logicalFirst до logicalLast включительно.
[protected slot] void QHeaderView::resizeSections()
Изменяет размеры разделов в соответствии с их подсказками размера. Обычно вызывать эту функцию не требуется.
[signal] void QHeaderView::sectionClicked(int logicalIndex)
Этот сигнал испускается, когда раздел нажат. Логический индекс раздела задаётся параметром logicalIndex.
Обратите внимание, что сигнал sectionPressed также будет испущен.
См. также setSectionsClickable() и sectionPressed().
[signal] void QHeaderView::sectionCountChanged(int oldCount, int newCount)
Этот сигнал генерируется при изменении количества секций, например, при добавлении или удалении секций. Исходное количество указано параметром oldCount, а новое количество — параметром newCount.
См. также count(), length() и headerDataChanged().
[signal] void QHeaderView::sectionDoubleClicked(int logicalIndex)
Этот сигнал генерируется при двойном щелчке по секции. Логический индекс секции указан в параметре logicalIndex.
См. также setSectionsClickable().
[signal] void QHeaderView::sectionEntered(int logicalIndex)
Этот сигнал генерируется, когда курсор перемещается над секцией и нажимается левая кнопка мыши. Логический индекс секции указан в параметре logicalIndex.
Эта функция была добавлена в Qt 4.3.
См. также setSectionsClickable() и sectionPressed().
[signal] void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
Этот сигнал генерируется при двойном щелчке по секции. Логический индекс секции указан в параметре logicalIndex.
См. также setSectionsClickable().
[signal] void QHeaderView::sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)
Этот сигнал генерируется при перемещении секции. Логический индекс секции указан в параметре logicalIndex, старый индекс — в oldVisualIndex, а новый индекс — в newVisualIndex.
См. также moveSection().
[signal] void QHeaderView::sectionPressed(int logicalIndex)
Этот сигнал генерируется при нажатии на секцию. Логический индекс секции указан в параметре logicalIndex.
См. также setSectionsClickable().
[signal] void QHeaderView::sectionResized(int logicalIndex, int oldSize, int newSize)
Этот сигнал генерируется при изменении размера секции. Логический индекс секции указан в параметре logicalIndex, старый размер — в oldSize, а новый размер — в newSize.
См. также resizeSection().
[protected slot] void QHeaderView::sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)
Этот слот вызывается, когда секции удаляются из parent. Значения logicalFirst и logicalLast обозначают, где были удалены секции.
Если удаляется только одна секция, logicalFirst и logicalLast будут одинаковыми.
[protected slot] void QHeaderView::sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast)
Этот слот вызывается, когда секции вставляются в parent. Индексы logicalFirst и logicalLast обозначают, куда были вставлены новые секции.
Если вставляется только одна секция, logicalFirst и logicalLast будут одинаковыми.
[slot] void QHeaderView::setOffset(int offset)
Устанавливает смещение заголовка в offset.
См. также offset() и length().
[slot] void QHeaderView::setOffsetToLastSection()
Устанавливает смещение, чтобы последняя секция была видимой.
Эта функция была добавлена в Qt 4.2.
См. также setOffset(), sectionPosition() и setOffsetToSectionPosition().
[slot] void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)
Устанавливает смещение до начала секции с заданным visualSectionNumber. visualSectionNumber — это фактическая видимая секция, если скрытые секции не учитываются. Это не всегда то же самое, что visualIndex().
Эта функция была добавлена в Qt 4.2.
См. также setOffset() и sectionPosition().
[signal] void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)
Этот сигнал генерируется при изменении секции, содержащей индикатор сортировки, или при изменении порядка. Логический индекс секции указан в параметре logicalIndex, а порядок сортировки — в параметре order.
Эта функция была добавлена в Qt 4.3.
См. также setSortIndicator().
[virtual] QHeaderView::~QHeaderView()
Удаляет заголовок.
int QHeaderView::count() const
Возвращает количество секций в заголовке.
См. также sectionCountChanged() и length().
[override virtual protected] void QHeaderView::currentChanged(const QModelIndex ¤t, const QModelIndex &old)
Переопределяет: QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous).
[override virtual protected] bool QHeaderView::event(QEvent *e)
Переопределяет: QAbstractItemView::event(QEvent *event).
int QHeaderView::hiddenSectionCount() const
Возвращает количество скрытых секций в заголовке.
Эта функция была добавлена в Qt 4.1.
См. также setSectionHidden() и isSectionHidden().
void QHeaderView::hideSection(int logicalIndex)
Скрывает секцию, указанную параметром logicalIndex.
См. также showSection(), isSectionHidden(), hiddenSectionCount() и setSectionHidden().
[override virtual protected] int QHeaderView::horizontalOffset() const
Переопределяет: QAbstractItemView::horizontalOffset() const.
Возвращает горизонтальное смещение заголовка. Для вертикальных заголовков это 0.
См. также offset().
[protected] void QHeaderView::initStyleOption(QStyleOptionHeader *option) const
Инициализирует option значениями из этого QHeaderView. Этот метод полезен для подклассов, когда им нужен QStyleOptionHeader, но они не хотят сами заполнять всю информацию.
См. также QStyleOption::initFrom().
bool QHeaderView::isSectionHidden(int logicalIndex) const
Возвращает true, если секция, указанная параметром logicalIndex, явно скрыта от пользователя; в противном случае возвращает false.
См. также hideSection(), showSection(), setSectionHidden() и hiddenSectionCount().
int QHeaderView::length() const
Возвращает длину по ориентации заголовка.
См. также sizeHint(), setSectionResizeMode() и offset().
int QHeaderView::logicalIndex(int visualIndex) const
Возвращает логический индекс секции по заданному индексу visualIndex, или -1, если visualIndex < 0 или visualIndex >= QHeaderView::count().
Обратите внимание, что visualIndex не зависит от скрытых секций.
См. также visualIndex() и sectionPosition().
END_OF_DOCUMENT_MARKERint QHeaderView::logicalIndexAt(int position) const
Возвращает раздел, который покрывает данную position в области просмотра.
См. также visualIndexAt() и isSectionHidden().
int QHeaderView::logicalIndexAt(int x, int y) const
Возвращает логический индекс раздела в заданных координатах. Если заголовок горизонтальный, будет использовано x, в противном случае – y для определения логического индекса.
int QHeaderView::logicalIndexAt(const QPoint &pos) const
Возвращает логический индекс раздела в позиции, заданной в pos. Если заголовок горизонтальный, используется координата x, в противном случае – координата y для определения логического индекса.
См. также sectionPosition().
[override virtual protected] void QHeaderView::mouseDoubleClickEvent(QMouseEvent *e)
Переопределяет: QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mouseMoveEvent(QMouseEvent *e)
Переопределяет: QAbstractItemView::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mousePressEvent(QMouseEvent *e)
Переопределяет: QAbstractItemView::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mouseReleaseEvent(QMouseEvent *e)
Переопределяет: QAbstractItemView::mouseReleaseEvent(QMouseEvent *event).
void QHeaderView::moveSection(int from, int to)
Перемещает раздел с визуальным индексом from на визуальный индекс to.
См. также sectionsMoved().
int QHeaderView::offset() const
Возвращает смещение заголовка: это левое (или верхнее для вертикальных заголовков) видимое пиксель заголовка.
См. также setOffset().
Qt::Orientation QHeaderView::orientation() const
Возвращает ориентацию заголовка.
См. также Qt::Orientation.
[override virtual protected] void QHeaderView::paintEvent(QPaintEvent *e)
Переопределяет: QAbstractScrollArea::paintEvent(QPaintEvent *event).
[virtual protected] void QHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
Рисует раздел, указанный заданным logicalIndex, с использованием данного painter и rect.
Обычно вам не нужно вызывать эту функцию.
[override virtual] void QHeaderView::reset()
Переопределяет: QAbstractItemView::reset().
int QHeaderView::resizeContentsPrecision() const
Возвращает, насколько точно QHeaderView будет рассчитывать при ResizeToContents.
Эта функция была введена в Qt 5.2.
См. также setResizeContentsPrecision() и setSectionResizeMode().
void QHeaderView::resizeSection(int logicalIndex, int size)
Изменяет размер раздела, указанного logicalIndex, на size пикселей. Параметр size должен быть значением не меньше нуля. Однако размер, равный нулю, не рекомендуется. В этом случае следует использовать hideSection вместо этого.
См. также sectionResized(), sectionSize() и hideSection().
void QHeaderView::resizeSections(QHeaderView::ResizeMode mode)
Изменяет размер разделов в соответствии с заданным mode, игнорируя текущий режим изменения размера.
См. также sectionResized().
bool QHeaderView::restoreState(const QByteArray &state)
Восстанавливает state этого представления заголовка. Эта функция возвращает true если состояние было восстановлено; в противном случае возвращает false.
Эта функция была введена в Qt 4.3.
См. также saveState().
QByteArray QHeaderView::saveState() const
Сохраняет текущее состояние этого представления заголовка.
Чтобы восстановить сохраненное состояние, передайте возвращаемое значение в restoreState().
Эта функция была введена в Qt 4.3.
См. также restoreState().
int QHeaderView::sectionPosition(int logicalIndex) const
Возвращает позицию раздела данного logicalIndex или -1, если раздел скрыт. Позиция измеряется в пикселях от верхнего левого угла первого видимого элемента до верхнего левого угла элемента с logicalIndex. Измерение выполняется по оси x для горизонтальных заголовков и по оси y для вертикальных заголовков.
См. также sectionViewportPosition().
QHeaderView::ResizeMode QHeaderView::sectionResizeMode(int logicalIndex) const
Возвращает режим изменения размера, который применяется к разделу, заданному данным logicalIndex.
Эта функция была введена в Qt 5.0.
См. также setSectionResizeMode().
int QHeaderView::sectionSize(int logicalIndex) const
Возвращает ширину (или высоту для вертикальных заголовков) данного logicalIndex.
См. также length(), setSectionResizeMode() и defaultSectionSize().
[virtual protected] QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
Возвращает размер содержимого раздела, указанного заданным logicalIndex.
См. также defaultSectionSize().
int QHeaderView::sectionSizeHint(int logicalIndex) const
Возвращает подходящую подсказку размера для раздела, указанного logicalIndex.
См. также sizeHint(), defaultSectionSize(), minimumSectionSize() и maximumSectionSize().
int QHeaderView::sectionViewportPosition(int logicalIndex) const
Возвращает позицию раздела viewport данного logicalIndex.
Если раздел скрыт, возвращаемое значение не определено.
См. также sectionPosition() и isSectionHidden().
bool QHeaderView::sectionsClickable() const
Возвращает true если заголовок нажимаем; в противном случае возвращает false. Нажимаемый заголовок может быть настроен для изменения представления данных в представлении, связанных с заголовком.
Эта функция была введена в Qt 5.0.
См. также setSectionsClickable().
bool QHeaderView::sectionsHidden() const
Возвращает true если разделы в заголовке были скрыты; в противном случае возвращает false;
Эта функция была введена в Qt 4.1.
См. также setSectionHidden().
bool QHeaderView::sectionsMovable() const
Возвращает true если пользователь может перемещать заголовок; в противном случае возвращает false.
По умолчанию, разделы перемещаемы в QTreeView (кроме первого), и не перемещаемы в QTableView.
Эта функция была введена в Qt 5.0.
См. также setSectionsMovable().
bool QHeaderView::sectionsMoved() const
Возвращает true если секции в заголовке были перемещены; в противном случае возвращает false.
См. также moveSection().
[override virtual] void QHeaderView::setModel(QAbstractItemModel *model)
Переопределяет: QAbstractItemView::setModel(QAbstractItemModel *model).
void QHeaderView::setResizeContentsPrecision(int precision)
Устанавливает точность расчёта размера QHeaderView при использовании ResizeToContents. Низкое значение обеспечивает менее точный, но быстрый автоматический размер, а высокое значение – более точный, но потенциально медленный размер.
Число precision указывает, сколько секций следует учитывать при расчёте предпочтительного размера.
Значение по умолчанию равно 1000, что означает, что горизонтальная колонка с автоматическим размером будет рассматривать максимум 1000 строк при расчёте автоматического размера.
Специальное значение 0 означает, что будет рассматриваться только видимая область. Специальное значение -1 означает, что будут рассматриваться все элементы.
Это значение используется в QTableView::sizeHintForColumn(), QTableView::sizeHintForRow() и QTreeView::sizeHintForColumn(). Переопределение этих функций может повлиять на действие этой функции.
Функция была добавлена в Qt 5.2.
См. также resizeContentsPrecision(), setSectionResizeMode(), resizeSections(), QTableView::sizeHintForColumn(), QTableView::sizeHintForRow(), и QTreeView::sizeHintForColumn().
void QHeaderView::setSectionHidden(int logicalIndex, bool hide)
Если hide равно true, то секция, указанная logicalIndex, скрывается; в противном случае секция отображается.
См. также isSectionHidden() и hiddenSectionCount().
void QHeaderView::setSectionResizeMode(QHeaderView::ResizeMode mode)
Устанавливает ограничения на то, как заголовок может быть изменён в соответствии с заданным mode.
Функция была добавлена в Qt 5.0.
См. также sectionResizeMode(), length(), и sectionResized().
void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
Устанавливает ограничения на то, как секция, указанная logicalIndex в заголовке, может быть изменена в соответствии с заданным mode. Логический индекс должен существовать на момент вызова этой функции.
Примечание: Это значение будет проигнорировано для последней секции, если свойство stretchLastSection установлено в true. Это значение по умолчанию для горизонтальных заголовков, предоставляемых QTreeView.
Функция была добавлена в Qt 5.0.
См. также setStretchLastSection() и resizeContentsPrecision().
void QHeaderView::setSectionsClickable(bool clickable)
Если clickable равно true, заголовок будет реагировать на одиночные щелчки.
Функция была добавлена в Qt 5.0.
См. также sectionsClickable(), sectionClicked(), sectionPressed(), и setSortIndicatorShown().
void QHeaderView::setSectionsMovable(bool movable)
Если movable равно true, секции заголовка могут быть перемещены пользователем; в противном случае они закреплены на месте.
При использовании с QTreeView первая колонка по умолчанию не может быть перемещена (так как она содержит структуру дерева). Вы можете сделать её перемещаемой с помощью setFirstSectionMovable(true).
Функция была добавлена в Qt 5.0.
См. также sectionsMovable(), sectionMoved(), и setFirstSectionMovable().
[override virtual protected] void QHeaderView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Переопределяет: QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).
Выделяет элементы в заданном rect в соответствии с указанными flags.
Реализация базового класса ничего не делает.
void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)
Устанавливает индикатор сортировки для секции, указанной заданным logicalIndex, в направлении, заданном order, и удаляет индикатор сортировки из любой другой секции, которая его отображала.
logicalIndex может быть -1, в этом случае индикатор сортировки не будет отображаться, и модель вернётся к своему естественному, несортированному порядку. Обратите внимание, что не все модели поддерживают это и могут даже аварийно завершить работу в этом случае.
См. также sortIndicatorSection() и sortIndicatorOrder().
[override virtual] void QHeaderView::setVisible(bool v)
Переопределяет функцию доступа к свойству: QWidget::visible.
void QHeaderView::showSection(int logicalIndex)
Отображает секцию, указанную logicalIndex.
См. также hideSection(), isSectionHidden(), hiddenSectionCount(), и setSectionHidden().
[override virtual] QSize QHeaderView::sizeHint() const
Переопределяет: QAbstractScrollArea::sizeHint() const.
Возвращает подходящий размер для этого заголовка.
См. также sectionSizeHint().
Qt::SortOrder QHeaderView::sortIndicatorOrder() const
Возвращает порядок для индикатора сортировки. Если ни одна секция не имеет индикатора сортировки, возвращаемое значение этой функции не определено.
См. также setSortIndicator() и sortIndicatorSection().
int QHeaderView::sortIndicatorSection() const
Возвращает логический индекс секции, имеющей индикатор сортировки. По умолчанию это секция 0.
См. также setSortIndicator(), sortIndicatorOrder(), и setSortIndicatorShown().
int QHeaderView::stretchSectionCount() const
Возвращает количество секций, которые настроены на растяжение. В представлениях это можно использовать, чтобы определить, нужно ли заголовку изменить размер секций при изменении геометрии представления.
Функция была добавлена в Qt 4.1.
См. также stretchLastSection.
void QHeaderView::swapSections(int first, int second)
Меняет местами секцию с визуальным индексом first и секцию с визуальным индексом second.
Функция была добавлена в Qt 4.2.
См. также moveSection().
[override virtual protected] int QHeaderView::verticalOffset() const
Переопределяет: QAbstractItemView::verticalOffset() const.
Возвращает вертикальное смещение заголовка. Для горизонтальных заголовков это 0.
См. также offset().
[override virtual protected] bool QHeaderView::viewportEvent(QEvent *e)
Переопределяет: QAbstractItemView::viewportEvent(QEvent *event).
int QHeaderView::visualIndex(int logicalIndex) const
Возвращает визуальную позицию секции, указанной заданным logicalIndex, или -1 в противном случае.
Скрытые секции по-прежнему имеют допустимые визуальные индексы.
См. также logicalIndex().
int QHeaderView::visualIndexAt(int position) const
Возвращает визуальный индекс секции, которая охватывает заданную position в области просмотра.
См. также logicalIndexAt().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qheaderview.html