Класс QHeaderView
Класс QHeaderView предоставляет строку заголовка или столбец заголовка для представлений элементов. Подробнее...
| Заголовок: | #include <QHeaderView> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| 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) |
Защищенные функции
| virtual void | initStyleOption(QStyleOptionHeader *option) const |
| virtual void | initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) 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().
Каждый заголовок имеет ориентацию orientation() и количество разделов, указанное функцией 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.
Функции доступа:
| bool | cascadingSectionResizes() const |
| void | setCascadingSectionResizes(bool enable) |
См. также setSectionResizeMode().
defaultAlignment : Qt::Alignment
Это свойство содержит выравнивание текста по умолчанию в каждом разделе заголовка.
Функции доступа:
| 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.
[since 5.11] 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) |
[since 5.2] maximumSectionSize : int
Это свойство содержит максимальный размер разделов заголовка.
Максимальный размер раздела — это максимальный разрешенный размер раздела. Значение по умолчанию для этого свойства — 1048575, что также является максимальным возможным размером раздела. Установка maximum в -1 сбросит значение до максимального размера раздела.
За исключением растяжения, это свойство учитывается всеми режимами масштабирования.
Это свойство было введено в Qt 5.2.
Функции доступа:
| int | maximumSectionSize() const |
| void | setMaximumSectionSize(int size) |
См. также setSectionResizeMode() и defaultSectionSize.
minimumSectionSize : int
Это свойство содержит минимальный размер разделов заголовка.
Минимальный размер раздела — это минимальный разрешенный размер раздела. Если минимальный размер раздела установлен в -1, QHeaderView будет использовать размер шрифта font metrics.
Это свойство учитывается всеми режимами масштабирования.
Функции доступа:
| 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()
Этот сигнал испускается, когда геометрия заголовка изменилась.
[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.
См. также 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()
Устанавливает смещение для отображения последней секции.
См. также setOffset(), sectionPosition() и setOffsetToSectionPosition().
[slot] void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)
Устанавливает смещение до начала секции с заданным visualSectionNumber. visualSectionNumber — это фактическая видимая секция, когда скрытые секции не учитываются. Это не всегда совпадает с visualIndex().
См. также setOffset() и sectionPosition().
[signal] void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)
Этот сигнал излучается, когда изменяется секция, содержащая указатель сортировки, или порядок, указанный в ней. Логический индекс секции задаётся параметром logicalIndex, а порядок сортировки — order.
См. также 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
Возвращает количество секций в заголовке, которые скрыты.
См. также setSectionHidden() и isSectionHidden().
void QHeaderView::hideSection(int logicalIndex)
Скрывает секцию, заданную параметром logicalIndex.
См. также showSection(), isSectionHidden(), hiddenSectionCount() и setSectionHidden().
[override virtual protected] int QHeaderView::horizontalOffset() const
Переопределяет: QAbstractItemView::horizontalOffset() const.
Возвращает горизонтальное смещение заголовка. Для вертикальных заголовков это 0.
См. также offset().
[virtual protected] void QHeaderView::initStyleOption(QStyleOptionHeader *option) const
Инициализирует option значениями из данного QHeaderView. Этот метод полезен для подклассов, когда им нужен QStyleOptionHeader, но они не хотят заполнять всю информацию самостоятельно.
См. также QStyleOption::initFrom() и initStyleOptionForIndex().
[virtual protected, since 6.0] void QHeaderView::initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const
Инициализирует стиль option из указанного logicalIndex. Эта функция вызывается реализацией по умолчанию paintSection после вызова initStyleOption.
Эта функция была представлена в Qt 6.0.
См. также paintSection() и initStyleOption().
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
Возвращает logicalIndex для секции в заданной позиции visualIndex или -1, если visualIndex < 0 или visualIndex >= QHeaderView::count().
Обратите внимание, что visualIndex не зависит от скрытых секций.
END_OF_DOCUMENT_MARKERСм. также visualIndex() и sectionPosition().
int 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().
[since 5.2] 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)
Восстанавливает состояние этого заголовка. Эта функция возвращает true если состояние было восстановлено; в противном случае возвращает false.
См. также saveState().
QByteArray QHeaderView::saveState() const
Сохраняет текущее состояние этого заголовка.
Чтобы восстановить сохраненное состояние, передайте возвращаемое значение в restoreState().
См. также restoreState().
int QHeaderView::sectionPosition(int logicalIndex) const
Возвращает позицию секции для заданного logicalIndex или -1, если секция скрыта. Позиция измеряется в пикселях от левого верхнего угла первого видимого элемента до левого верхнего угла элемента с logicalIndex. Измерение выполняется по оси x для горизонтальных заголовков и по оси y для вертикальных заголовков.
См. также sectionViewportPosition().
[since 5.0] 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
Возвращает позицию секции в области просмотра для заданного logicalIndex.
Если секция скрыта, возвращаемое значение не определено.
См. также sectionPosition() и isSectionHidden().
[since 5.0] bool QHeaderView::sectionsClickable() const
Возвращает true если заголовок нажимаем; в противном случае возвращает false. Нажимаемый заголовок может быть настроен для изменения представления данных в представлении, связанном с заголовком.
Эта функция была добавлена в Qt 5.0.
См. также setSectionsClickable().
bool QHeaderView::sectionsHidden() const
Возвращает true если секции в заголовке скрыты; в противном случае возвращает false.
См. также setSectionHidden().
[since 5.0] 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).
[since 5.2] 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().
[since 5.0] void QHeaderView::setSectionResizeMode(QHeaderView::ResizeMode mode)
Устанавливает ограничения на то, как заголовок может быть изменен в размерах, заданные указанным mode.
Функция была добавлена в Qt 5.0.
См. также sectionResizeMode(), length() и sectionResized().
[since 5.0] void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
Устанавливает ограничения на то, как секция, указанная logicalIndex в заголовке, может быть изменена в размерах, заданные указанным mode. Логический индекс должен существовать на момент вызова этой функции.
Примечание: Это значение будет проигнорировано для последней секции, если свойство stretchLastSection установлено в значение true. По умолчанию это используется для горизонтальных заголовков, предоставляемых QTreeView.
Функция была добавлена в Qt 5.0.
См. также setStretchLastSection() и resizeContentsPrecision().
[since 5.0] void QHeaderView::setSectionsClickable(bool clickable)
Если clickable равно true, заголовок будет реагировать на одиночные щелчки.
Функция была добавлена в Qt 5.0.
См. также sectionsClickable(), sectionClicked(), sectionPressed() и setSortIndicatorShown().
[since 5.0] 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
Возвращает количество секций, установленных в режим масштабирования. В представлениях это может быть использовано, чтобы увидеть, нужно ли headerview изменять размеры секций при изменении геометрии представления.
См. также stretchLastSection.
void QHeaderView::swapSections(int first, int second)
Меняет местами секцию с визуальным индексом first и секцию с визуальным индексом second.
См. также 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
Возвращает визуальный индекс раздела, охватывающего заданную позицию в области просмотра.
См. также logicalIndexAt().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qheaderview.html