QHeaderView Class
La clase QHeaderView proporciona una fila o columna de cabecera para las vistas de elementos. Más...
| Cabecera: | #include <QHeaderView> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Hereda: | QAbstractItemView |
Tipos públicos
| enum | ResizeMode { Interactive, Fixed, Stretch, ResizeToContents, Custom } |
Propiedades
|
|
Funciones públicas
| 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 | isSortIndicatorClearable() const |
| bool | isSortIndicatorShown() const |
| int | length() const |
| int | logicalIndex(int visualIndex) const |
| int | logicalIndexAt(const QPoint &pos) const |
| int | logicalIndexAt(int position) const |
| int | logicalIndexAt(int x, int y) 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 | setSortIndicatorClearable(bool clearable) |
| 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 |
Funciones públicas reimplementadas
| virtual void | reset() override |
| virtual void | setModel(QAbstractItemModel *model) override |
| virtual void | setVisible(bool v) override |
| virtual QSize | sizeHint() const override |
Ranuras públicas
| void | headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast) |
| void | setOffset(int offset) |
| void | setOffsetToLastSection() |
| void | setOffsetToSectionPosition(int visualSectionNumber) |
Señales
| 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 | sortIndicatorClearableChanged(bool clearable) |
Funciones protegidas
| virtual void | initStyleOption(QStyleOptionHeader *option) const |
(since 6.0) 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 |
Funciones protegidas reimplementadas
| 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 |
Ranuras protegidas
| void | resizeSections() |
| void | sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast) |
| void | sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast) |
Descripción Detallada
Un QHeaderView muestra las cabeceras utilizadas en las vistas de elementos como las clases QTableView y QTreeView. Ocupa el lugar de la clase QHeader de Qt3 utilizada anteriormente para el mismo propósito, pero utiliza la arquitectura modelo/vista de Qt para mantener la coherencia con las clases de vistas de elementos.
La clase QHeaderView es una de las clases modelo/vista y forma parte del marco modelo/vista de Qt.
La cabecera obtiene los datos de cada sección del modelo utilizando la función QAbstractItemModel::headerData(). Puede establecer los datos utilizando QAbstractItemModel::setHeaderData().
Cada cabecera tiene un orientation() y un número de secciones, dado por la función count(). Una sección se refiere a una parte de la cabecera, ya sea una fila o una columna, dependiendo de la orientación.
Las secciones pueden moverse y cambiar de tamaño con moveSection() y resizeSection(); también pueden ocultarse y mostrarse con hideSection() y showSection().
Cada sección de una cabecera se describe mediante un ID de sección, especificado por su section(), y puede ubicarse en un visualIndex() concreto de la cabecera. Una sección puede tener un indicador de ordenación establecido con setSortIndicator(); esto indica si los elementos de la vista de elementos asociada se ordenarán en el orden dado por la sección.
Para una cabecera horizontal, la sección equivale a una columna en el modelo, y para una cabecera vertical, la sección equivale a una fila en el modelo.
Mover secciones de cabecera
Una cabecera puede fijarse en su lugar o moverse con setSectionsMovable(). Se puede hacer clic en ella con setSectionsClickable(), y tiene un comportamiento de redimensionamiento de acuerdo con setSectionResizeMode().
Nota: Hacer doble clic en una cabecera para redimensionar una sección sólo se aplica a las filas visibles.
Una cabecera emitirá sectionMoved() si el usuario mueve una sección, sectionResized() si el usuario redimensiona una sección, y sectionClicked() así como sectionHandleDoubleClicked() en respuesta a los clics del ratón. Una cabecera también emitirá sectionCountChanged().
Puede identificar una sección mediante las funciones logicalIndex() y logicalIndexAt(), o por su posición en el índice, mediante las funciones visualIndex() y visualIndexAt(). El índice visual cambiará si se mueve una sección, pero el índice lógico no cambiará.
Las funciones
QTableWidget y QTableView crean cabeceras por defecto. Si desea que las cabeceras sean visibles, puede utilizar setVisible().
No todos los ItemDataRoles tendrán efecto en un QHeaderView. Si necesita dibujar otras funciones, puede subclasificar QHeaderView y reimplementar paintEvent(). QHeaderView respeta los siguientes roles de datos de elementos, a menos que estén en conflicto con el estilo (lo que puede ocurrir para estilos que siguen el tema del escritorio):
TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole, y BackgroundRole.
Nota: Cada cabecera renderiza los datos de cada sección por sí misma, y no depende de un delegado. Como resultado, llamar a la función setItemDelegate() de una cabecera no tendrá ningún efecto.
Consideraciones especiales para modelos de gran tamaño
La vista de cabecera utiliza de 8 a 16 bytes de memoria por sección. Sin embargo, desde Qt 6.9 esta memoria de sección sólo se utiliza si una o más secciones se redimensionan o reordenan. Esto significa que es posible que un modelo tenga millones de secciones sin que QHeaderView consuma una cantidad proporcional, y por tanto enorme, de memoria, siempre que no haya llamadas a swapSections, resizeSection, hideSection, moveSection, y stretchLastSection (habilitándolo). Para evitar dichas llamadas por acciones del usuario el resize mode debería ser Fixed (sin especificarlo para ningún índice, ya que eso hará lo contrario). También debe evitarse que el usuario mueva secciones manteniendo deshabilitado sectionsMovable.
Ver también Programación Modelo/Vista, QListView, QTableView, y QTreeView.
Documentación de tipos de miembros
enum QHeaderView::ResizeMode
El modo de redimensionamiento especifica el comportamiento de las secciones de cabecera. Puede establecerse en toda la vista de cabecera o en secciones individuales utilizando setSectionResizeMode().
| Constante | Valor | Descripción |
|---|---|---|
QHeaderView::Interactive | 0 | El usuario puede redimensionar la sección. La sección también se puede redimensionar mediante programación utilizando resizeSection(). El tamaño de la sección es por defecto defaultSectionSize. (Véase también cascadingSectionResizes.) |
QHeaderView::Fixed | 2 | El usuario no puede cambiar el tamaño de la sección. La sección sólo se puede redimensionar mediante programación utilizando resizeSection(). El tamaño por defecto de la sección es defaultSectionSize. |
QHeaderView::Stretch | 1 | QHeaderView redimensionará automáticamente la sección para llenar el espacio disponible. El tamaño no puede ser modificado por el usuario o mediante programación. |
QHeaderView::ResizeToContents | 3 | QHeaderView redimensionará automáticamente la sección a su tamaño óptimo basándose en el contenido de toda la columna o fila. El tamaño no puede ser modificado por el usuario ni mediante programación. (Este valor se introdujo en 4.2) |
Los siguientes valores son obsoletos:
| Constante | Valor | Descripción |
|---|---|---|
QHeaderView::Custom | Fixed | Utilice Fixed en su lugar. |
Véase también setSectionResizeMode(), stretchLastSection, y minimumSectionSize.
Documentación de propiedades
cascadingSectionResizes : bool
Esta propiedad determina si el redimensionamiento interactivo se aplicará en cascada a las secciones siguientes una vez que la sección que está siendo redimensionada por el usuario haya alcanzado su tamaño mínimo.
Esta propiedad sólo afecta a las secciones que tienen Interactive como modo de redimensionamiento.
El valor por defecto es false.
Funciones de acceso:
| bool | cascadingSectionResizes() const |
| void | setCascadingSectionResizes(bool enable) |
Véase también setSectionResizeMode().
defaultAlignment : Qt::Alignment
Esta propiedad contiene la alineación por defecto del texto en cada sección de cabecera
Funciones de acceso:
| Qt::Alignment | defaultAlignment() const |
| void | setDefaultAlignment(Qt::Alignment alignment) |
defaultSectionSize : int
Esta propiedad mantiene el tamaño por defecto de las secciones de cabecera antes de redimensionarlas.
Esta propiedad sólo afecta a las secciones que tienen Interactive o Fixed como modo de redimensionamiento.
Por defecto, el valor de esta propiedad depende del estilo. Así, cuando el estilo cambia, esta propiedad se actualiza a partir de él. Llamar a setDefaultSectionSize() detiene las actualizaciones, llamar a resetDefaultSectionSize() restaurará el comportamiento por defecto.
Funciones de acceso:
| int | defaultSectionSize() const |
| void | setDefaultSectionSize(int size) |
| void | resetDefaultSectionSize() |
Véase también setSectionResizeMode() y minimumSectionSize.
firstSectionMovable : bool
Esta propiedad controla si la primera columna puede ser movida por el usuario
Esta propiedad controla si la primera columna puede ser movida por el usuario. En QTreeView, la primera columna contiene la estructura de árbol y, por tanto, no es movible por defecto, incluso después de setSectionsMovable(true).
Se puede volver a hacer movible, por ejemplo en el caso de listas planas sin estructura de árbol, llamando a este método. En tal caso, se recomienda llamar también a QTreeView::setRootIsDecorated(false).
treeView->setRootIsDecorated(false); treeView->header()->setFirstSectionMovable(true);
Establecerlo en true no tiene ningún efecto a menos que también se llame a setSectionsMovable(true).
Funciones de acceso:
| bool | isFirstSectionMovable() const |
| void | setFirstSectionMovable(bool movable) |
Véase también setSectionsMovable().
highlightSections : bool
Esta propiedad indica si las secciones que contienen elementos seleccionados están resaltadas.
Por defecto, esta propiedad es false.
Funciones de acceso:
| bool | highlightSections() const |
| void | setHighlightSections(bool highlight) |
maximumSectionSize : int
Esta propiedad contiene el tamaño máximo de las secciones de cabecera.
El tamaño máximo de sección es el mayor tamaño de sección permitido. El valor por defecto de esta propiedad es 1048575, que es también el mayor tamaño posible para una sección. Establecer el valor máximo a -1 restablecerá el valor al tamaño de sección más grande.
A excepción de stretch, esta propiedad es respetada por todas las funciones de resize modes
funciones de acceso:
| int | maximumSectionSize() const |
| void | setMaximumSectionSize(int size) |
Véase también setSectionResizeMode() y defaultSectionSize.
minimumSectionSize : int
Esta propiedad contiene el tamaño mínimo de las secciones de cabecera.
El tamaño mínimo de sección es el menor tamaño de sección permitido. Si el tamaño mínimo de sección es -1, QHeaderView utilizará el tamaño de font metrics.
Esta propiedad es respetada por todos los resize modes.
Funciones de acceso:
| int | minimumSectionSize() const |
| void | setMinimumSectionSize(int size) |
Véase también setSectionResizeMode() y defaultSectionSize.
sectionsClickable : bool
Indica true si se puede hacer clic en la cabecera; en caso contrario, indica false. Un encabezado clicable podría configurarse para permitir al usuario cambiar la representación de los datos en la vista relacionada con el encabezado.
Funciones de acceso:
| bool | sectionsClickable() const |
| void | setSectionsClickable(bool clickable) |
Véase también sectionPressed() y setSortIndicatorShown().
sectionsMovable : bool
Si sectionsMovable es verdadero, las secciones de cabecera pueden ser movidas por el usuario; en caso contrario, quedan fijas en su sitio.
Cuando se utiliza en combinación con QTreeView, la primera columna no es móvil (ya que contiene la estructura de árbol), por defecto. Puede hacerla movible con setFirstSectionMovable(true).
Funciones de acceso:
| bool | sectionsMovable() const |
| void | setSectionsMovable(bool movable) |
Véase también sectionMoved() y setFirstSectionMovable().
showSortIndicator : bool
Esta propiedad indica si se muestra el indicador de ordenación
Por defecto, esta propiedad es false.
Funciones de acceso:
| bool | isSortIndicatorShown() const |
| void | setSortIndicatorShown(bool show) |
Véase también setSectionsClickable().
[since 6.1] sortIndicatorClearable : bool
Esta propiedad controla si se puede eliminar el indicador de ordenación pulsando sobre una sección varias veces
Esta propiedad controla si el usuario puede eliminar el indicador de ordenación en una sección dada haciendo clic en la sección varias veces. Normalmente, al hacer clic en una sección simplemente se cambia el orden de clasificación de esa sección. Estableciendo esta propiedad a true, el indicador de ordenación se borrará después de alternar entre ascendente y descendente; esto normalmente restaurará la ordenación original de un modelo.
Establecer esta propiedad a true no tiene efecto a menos que sectionsClickable() sea también true (que es el valor por defecto para ciertas vistas, por ejemplo QTableView, o se establece automáticamente al hacer una vista ordenable, por ejemplo llamando a QTreeView::setSortingEnabled).
Esta propiedad se introdujo en Qt 6.1.
Funciones de acceso:
| bool | isSortIndicatorClearable() const |
| void | setSortIndicatorClearable(bool clearable) |
Señal de notificador:
| void | sortIndicatorClearableChanged(bool clearable) |
stretchLastSection : bool
Esta propiedad indica si la última sección visible de la cabecera ocupa todo el espacio disponible.
El valor por defecto es false.
Nota: Las cabeceras horizontales proporcionadas por QTreeView están configuradas con esta propiedad a true, asegurando que la vista no desperdicia nada del espacio que se le ha asignado para su cabecera. Si se establece este valor a true, esta propiedad anulará el modo de redimensionamiento establecido en la última sección de la cabecera.
Funciones de acceso:
| bool | stretchLastSection() const |
| void | setStretchLastSection(bool stretch) |
Véase también setSectionResizeMode().
Documentación de las funciones miembro
[explicit] QHeaderView::QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr)
Crea una nueva cabecera genérica con los datos orientation y parent.
[virtual noexcept] QHeaderView::~QHeaderView()
Destruye la cabecera.
int QHeaderView::count() const
Devuelve el número de secciones de la cabecera.
Véase también sectionCountChanged() y length().
[override virtual protected] void QHeaderView::currentChanged(const QModelIndex ¤t, const QModelIndex &old)
Reimplementa: QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous).
[override virtual protected] bool QHeaderView::event(QEvent *e)
Reimplementa: QAbstractItemView::event(QEvent *event).
[signal] void QHeaderView::geometriesChanged()
Esta señal se emite cuando las geometrías de la cabecera han cambiado.
[slot] void QHeaderView::headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast)
Actualiza las secciones de cabecera modificadas con la dirección orientation, desde logicalFirst hasta logicalLast inclusive.
int QHeaderView::hiddenSectionCount() const
Devuelve el número de secciones de la cabecera que se han ocultado.
Véase también setSectionHidden() y isSectionHidden().
void QHeaderView::hideSection(int logicalIndex)
Oculta la sección especificada por logicalIndex.
Véase también showSection(), isSectionHidden(), hiddenSectionCount() y setSectionHidden().
[override virtual protected] int QHeaderView::horizontalOffset() const
Reimplementa: QAbstractItemView::horizontalOffset() const.
Devuelve el desplazamiento horizontal de la cabecera. Es 0 para cabeceras verticales.
Véase también offset().
[virtual protected] void QHeaderView::initStyleOption(QStyleOptionHeader *option) const
Inicializa option con los valores de este QHeaderView. Este método es útil para las subclases cuando necesitan un QStyleOptionHeader, pero no quieren rellenar toda la información ellas mismas.
Véase también QStyleOption::initFrom() y initStyleOptionForIndex().
[virtual protected, since 6.0] void QHeaderView::initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const
Inicializa el estilo option a partir del especificado logicalIndex. Esta función es llamada por la implementación por defecto de paintSection después de que initStyleOption haya sido llamada.
Esta función se introdujo en Qt 6.0.
Véase también paintSection() y initStyleOption().
bool QHeaderView::isSectionHidden(int logicalIndex) const
Devuelve true si la sección especificada por logicalIndex está explícitamente oculta al usuario; en caso contrario devuelve false.
Véase también hideSection(), showSection(), setSectionHidden() y hiddenSectionCount().
int QHeaderView::length() const
Devuelve la longitud a lo largo de la orientación de la cabecera.
Véase también sizeHint(), setSectionResizeMode() y offset().
int QHeaderView::logicalIndex(int visualIndex) const
Devuelve el logicalIndex de la sección en la posición visualIndex dada, o -1 si visualIndex < 0 o visualIndex >= QHeaderView::count().
Tenga en cuenta que visualIndex no se ve afectado por las secciones ocultas.
Véase también visualIndex() y sectionPosition().
int QHeaderView::logicalIndexAt(const QPoint &pos) const
Devuelve el índice lógico de la sección en la posición dada en pos. Si la cabecera es horizontal se utilizará la coordenada x, en caso contrario se utilizará la coordenada y para encontrar el índice lógico.
Véase también sectionPosition().
int QHeaderView::logicalIndexAt(int position) const
Devuelve la sección que cubre el position dado en la ventana gráfica.
Véase también visualIndexAt() y isSectionHidden().
int QHeaderView::logicalIndexAt(int x, int y) const
Devuelve el índice lógico de la sección en la coordenada dada. Si la cabecera es horizontal se utilizará x, en caso contrario se utilizará y para encontrar el índice lógico.
[override virtual protected] void QHeaderView::mouseDoubleClickEvent(QMouseEvent *e)
Reimplementa: QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mouseMoveEvent(QMouseEvent *e)
Reimplementa: QAbstractItemView::mouseMoveEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mousePressEvent(QMouseEvent *e)
Reimplementa: QAbstractItemView::mousePressEvent(QMouseEvent *event).
[override virtual protected] void QHeaderView::mouseReleaseEvent(QMouseEvent *e)
Reimplementa: QAbstractItemView::mouseReleaseEvent(QMouseEvent *event).
void QHeaderView::moveSection(int from, int to)
Mueve la sección en el índice visual from para ocupar el índice visual to.
Véase también sectionsMoved().
int QHeaderView::offset() const
Devuelve el desplazamiento de la cabecera: es el píxel visible más a la izquierda (o más arriba para cabeceras verticales) de la cabecera.
Véase también setOffset().
Qt::Orientation QHeaderView::orientation() const
Devuelve la orientación de la cabecera.
Véase también Qt::Orientation.
[override virtual protected] void QHeaderView::paintEvent(QPaintEvent *e)
Reimplementa: QAbstractScrollArea::paintEvent(QPaintEvent *event).
[virtual protected] void QHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
Pinta la sección especificada por logicalIndex, utilizando painter y rect.
Normalmente, no es necesario llamar a esta función.
[override virtual] void QHeaderView::reset()
Reimplementa: QAbstractItemView::reset().
int QHeaderView::resizeContentsPrecision() const
Devuelve la precisión con la que QHeaderView calculará en ResizeToContents.
Véase también setResizeContentsPrecision() y setSectionResizeMode().
void QHeaderView::resizeSection(int logicalIndex, int size)
Cambia el tamaño de la sección especificada por logicalIndex a size medido en píxeles. El parámetro size debe tener un valor mayor o igual que cero. Sin embargo, no se recomienda un tamaño igual a cero. En ese caso, debería utilizarse hideSection en su lugar.
Véase también sectionResized(), sectionSize(), y hideSection().
[protected slot] void QHeaderView::resizeSections()
Cambia el tamaño de las secciones según sus sugerencias de tamaño. Normalmente, no es necesario llamar a esta función.
Nota: Esta ranura está sobrecargada. Para conectarse a esta ranura:
// Connect using qOverload:
connect(sender, &SenderClass::signal,
headerView, qOverload<>(&QHeaderView::resizeSections));
// Or using a lambda as wrapper:
connect(sender, &SenderClass::signal,
headerView, [receiver = headerView]() { receiver->resizeSections(); });void QHeaderView::resizeSections(QHeaderView::ResizeMode mode)
Redimensiona las secciones de acuerdo con la dirección mode, ignorando el modo de redimensionado actual.
Véase también sectionResized().
bool QHeaderView::restoreState(const QByteArray &state)
Restaura el state de esta vista de cabecera. Esta función devuelve true si se ha restaurado el estado; en caso contrario devuelve false.
Véase también saveState().
QByteArray QHeaderView::saveState() const
Guarda el estado actual de esta vista de cabecera.
Para restaurar el estado guardado, pase el valor de retorno a restoreState().
Véase también restoreState().
[signal] void QHeaderView::sectionClicked(int logicalIndex)
Esta señal se emite cuando se hace clic en una sección. El índice lógico de la sección se especifica en logicalIndex.
Tenga en cuenta que también se emitirá la señal sectionPressed.
Véase también setSectionsClickable() y sectionPressed().
[signal] void QHeaderView::sectionCountChanged(int oldCount, int newCount)
Esta señal se emite cuando cambia el número de secciones, es decir, cuando se añaden o eliminan secciones. El recuento original se especifica en oldCount, y el nuevo en newCount.
Véase también count(), length() y headerDataChanged().
[signal] void QHeaderView::sectionDoubleClicked(int logicalIndex)
Esta señal se emite cuando se hace doble clic en una sección. El índice lógico de la sección se especifica en logicalIndex.
Véase también setSectionsClickable().
[signal] void QHeaderView::sectionEntered(int logicalIndex)
Esta señal se emite cuando el cursor se desplaza sobre la sección y se pulsa el botón izquierdo del ratón. El índice lógico de la sección se especifica en logicalIndex.
Véase también setSectionsClickable() y sectionPressed().
[signal] void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
Esta señal se emite cuando se hace doble clic en una sección. El índice lógico de la sección se especifica en logicalIndex.
Véase también setSectionsClickable().
[signal] void QHeaderView::sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)
Esta señal se emite cuando se mueve una sección. El índice lógico de la sección se especifica mediante logicalIndex, el índice antiguo mediante oldVisualIndex, y la nueva posición del índice mediante newVisualIndex.
Véase también moveSection().
int QHeaderView::sectionPosition(int logicalIndex) const
Devuelve la posición de la sección en logicalIndex, o -1 si la sección está oculta. La posición se mide en píxeles desde la esquina superior izquierda del primer elemento visible hasta la esquina superior izquierda del elemento con logicalIndex. La medición se realiza a lo largo del eje x para cabeceras horizontales y a lo largo del eje y para cabeceras verticales.
Véase también sectionViewportPosition().
[signal] void QHeaderView::sectionPressed(int logicalIndex)
Esta señal se emite cuando se pulsa una sección. El índice lógico de la sección se especifica en logicalIndex.
Véase también setSectionsClickable().
QHeaderView::ResizeMode QHeaderView::sectionResizeMode(int logicalIndex) const
Devuelve el modo de redimensionamiento que se aplica a la sección especificada en logicalIndex.
Véase también setSectionResizeMode().
[signal] void QHeaderView::sectionResized(int logicalIndex, int oldSize, int newSize)
Esta señal se emite cuando se redimensiona una sección. El número lógico de la sección se especifica mediante logicalIndex, el tamaño antiguo mediante oldSize, y el tamaño nuevo mediante newSize.
Véase también resizeSection().
int QHeaderView::sectionSize(int logicalIndex) const
Devuelve la anchura (o altura para cabeceras verticales) de logicalIndex.
Véase también length(), setSectionResizeMode() y defaultSectionSize().
[virtual protected] QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
Devuelve el tamaño del contenido de la sección especificada en logicalIndex.
Véase también defaultSectionSize().
int QHeaderView::sectionSizeHint(int logicalIndex) const
Devuelve una sugerencia de tamaño adecuado para la sección especificada por logicalIndex.
Véase también sizeHint(), defaultSectionSize(), minimumSectionSize() y maximumSectionSize().
int QHeaderView::sectionViewportPosition(int logicalIndex) const
Devuelve la posición de la sección en la ventana gráfica de logicalIndex.
Si la sección está oculta, el valor devuelto es indefinido.
Véase también sectionPosition() y isSectionHidden().
[protected slot] void QHeaderView::sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)
Esta ranura se activa cuando se eliminan secciones de parent. logicalFirst y logicalLast indican dónde se han eliminado las secciones.
Si sólo se elimina una sección, logicalFirst y logicalLast serán iguales.
bool QHeaderView::sectionsClickable() const
Devuelve sectionsClickable.
Nota: Función Getter para la propiedad sectionsClickable.
Véase también setSectionsClickable().
bool QHeaderView::sectionsHidden() const
Devuelve true si se han ocultado secciones de la cabecera; en caso contrario devuelve false;
Véase también setSectionHidden().
[protected slot] void QHeaderView::sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast)
Esta ranura se activa cuando se insertan secciones en parent. Los índices logicalFirst y logicalLast indican dónde se han insertado las nuevas secciones.
Si sólo se inserta una sección, logicalFirst y logicalLast serán iguales.
bool QHeaderView::sectionsMovable() const
Devuelve sectionsMovable.
Nota: Función Getter para la propiedad sectionsMovable.
Véase también setSectionsMovable().
bool QHeaderView::sectionsMoved() const
Devuelve true si las secciones de la cabecera se han movido; en caso contrario devuelve false;
Véase también moveSection().
[override virtual] void QHeaderView::setModel(QAbstractItemModel *model)
Reimplementa: QAbstractItemView::setModel(QAbstractItemModel *model).
[slot] void QHeaderView::setOffset(int offset)
Establece el offset de la cabecera en offset.
Véase también offset() y length().
[slot] void QHeaderView::setOffsetToLastSection()
Establece el desplazamiento para hacer visible la última sección.
Véase también setOffset(), sectionPosition() y setOffsetToSectionPosition().
[slot] void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)
Establece el desplazamiento al inicio de la sección en el visualSectionNumber dado. visualSectionNumber es la sección visible real cuando no se consideran las hiddenSections. No siempre es lo mismo que visualIndex().
Véase también setOffset() y sectionPosition().
void QHeaderView::setResizeContentsPrecision(int precision)
Establece la precisión con la que QHeaderView debe calcular el tamaño cuando se utiliza ResizeToContents. Un valor bajo proporcionará un cambio de tamaño automático menos preciso pero rápido, mientras que un valor más alto proporcionará un cambio de tamaño más preciso que, sin embargo, puede ser lento.
El número precision especifica cuántas secciones deben ser consideradas cuando se calcula el tamaño preferido.
El valor por defecto es 1000, lo que significa que una columna horizontal con redimensionamiento automático tendrá en cuenta un máximo de 1000 filas al calcular el redimensionamiento automático.
El valor especial 0 significa que sólo mirará el área visible. El valor especial -1 implicará mirar todos los elementos.
Este valor se utiliza en QTableView::sizeHintForColumn(), QTableView::sizeHintForRow() y QTreeView::sizeHintForColumn(). Reimplementar estas funciones puede hacer que esta función no tenga efecto.
Véase también resizeContentsPrecision(), setSectionResizeMode(), resizeSections(), QTableView::sizeHintForColumn(), QTableView::sizeHintForRow() y QTreeView::sizeHintForColumn().
void QHeaderView::setSectionHidden(int logicalIndex, bool hide)
Si hide es verdadero, la sección especificada por logicalIndex se oculta; en caso contrario, la sección se muestra.
Véase también isSectionHidden() y hiddenSectionCount().
void QHeaderView::setSectionResizeMode(QHeaderView::ResizeMode mode)
Establece las restricciones sobre cómo se puede cambiar el tamaño de la cabecera a las descritas por el mode dado.
Véase también sectionResizeMode(), length() y sectionResized().
void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
Establece las restricciones sobre cómo la sección especificada por logicalIndex en la cabecera puede ser redimensionada a las descritas por el mode dado. El índice lógico debe existir en el momento de llamar a esta función.
Nota: Este ajuste será ignorado para la última sección si la propiedad stretchLastSection está establecida en true. Este es el valor por defecto para las cabeceras horizontales proporcionadas por QTreeView.
Véase también setStretchLastSection() y resizeContentsPrecision().
void QHeaderView::setSectionsClickable(bool clickable)
Establece sectionsClickable en clickable.
Nota: Función Setter para la propiedad sectionsClickable.
Véase también sectionsClickable().
void QHeaderView::setSectionsMovable(bool movable)
Establece sectionsMovable en movable.
Nota: Función Setter para la propiedad sectionsMovable.
Véase también sectionsMovable().
[override virtual protected] void QHeaderView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
Reimplementa: QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).
Selecciona los elementos en el rect dado de acuerdo con el flags especificado.
La implementación de la clase base no hace nada.
void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)
Establece el indicador de ordenación para la sección especificada por logicalIndex en la dirección especificada por order, y elimina el indicador de ordenación de cualquier otra sección que lo estuviera mostrando.
logicalIndex puede ser -1, en cuyo caso no se mostrará ningún indicador de ordenación y el modelo volverá a su orden natural, sin ordenar. Tenga en cuenta que no todos los modelos soportan esto e incluso pueden bloquearse en este caso.
Véase también sortIndicatorSection() y sortIndicatorOrder().
[override virtual] void QHeaderView::setVisible(bool v)
Reimplementa una función de acceso para la propiedad: QWidget::visible.
void QHeaderView::showSection(int logicalIndex)
Muestra la sección especificada por logicalIndex.
Véase también hideSection(), isSectionHidden(), hiddenSectionCount() y setSectionHidden().
[override virtual] QSize QHeaderView::sizeHint() const
Reimplementa: QAbstractScrollArea::sizeHint() const.
Devuelve una sugerencia de tamaño adecuada para esta cabecera.
Véase también sectionSizeHint().
[signal] void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)
Esta señal se emite cuando se cambia la sección que contiene el indicador de ordenación o el orden indicado. El índice lógico de la sección se especifica mediante logicalIndex y el orden de clasificación se especifica mediante order.
Véase también setSortIndicator().
Qt::SortOrder QHeaderView::sortIndicatorOrder() const
Devuelve el orden del indicador de ordenación. Si ninguna sección tiene un indicador de ordenación, el valor de retorno de esta función es indefinido.
Véase también setSortIndicator() y sortIndicatorSection().
int QHeaderView::sortIndicatorSection() const
Devuelve el índice lógico de la sección que tiene un indicador de ordenación. Por defecto es la sección 0.
Véase también setSortIndicator(), sortIndicatorOrder() y setSortIndicatorShown().
int QHeaderView::stretchSectionCount() const
Devuelve el número de secciones que están configuradas para estirar en modo redimensionamiento. En las vistas, esto se puede utilizar para ver si la vista de cabecera necesita redimensionar las secciones cuando cambia la geometría de la vista.
Véase también stretchLastSection.
void QHeaderView::swapSections(int first, int second)
Intercambia la sección en el índice visual first con la sección en el índice visual second.
Véase también moveSection().
[override virtual protected] int QHeaderView::verticalOffset() const
Reimplementa: QAbstractItemView::verticalOffset() const.
Devuelve el desplazamiento vertical de la cabecera. Es 0 para cabeceras horizontales.
Véase también offset().
[override virtual protected] bool QHeaderView::viewportEvent(QEvent *e)
Reimplementa: QAbstractItemView::viewportEvent(QEvent *event).
int QHeaderView::visualIndex(int logicalIndex) const
Devuelve la posición del índice visual de la sección especificada en logicalIndex, o -1 en caso contrario.
Las secciones ocultas siguen teniendo índices visuales válidos.
Véase también logicalIndex().
int QHeaderView::visualIndexAt(int position) const
Devuelve el índice visual de la sección que cubre el position dado en la ventana gráfica.
Véase también logicalIndexAt().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.