QHeaderView Class Reference |
enum | ResizeMode { Interactive, Fixed, Stretch, ResizeToContents, Custom } |
|
|
QHeaderView ( Qt::Orientation orientation, QWidget * parent = 0 ) | |
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 | isClickable () const |
bool | isMovable () 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 | minimumSectionSize () const |
void | moveSection ( int from, int to ) |
int | offset () const |
Qt::Orientation | orientation () const |
ResizeMode | resizeMode ( int logicalIndex ) 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 |
int | sectionSize ( int logicalIndex ) const |
int | sectionSizeHint ( int logicalIndex ) const |
int | sectionViewportPosition ( int logicalIndex ) const |
bool | sectionsHidden () const |
bool | sectionsMoved () const |
void | setCascadingSectionResizes ( bool enable ) |
void | setClickable ( bool clickable ) |
void | setDefaultAlignment ( Qt::Alignment alignment ) |
void | setDefaultSectionSize ( int size ) |
void | setHighlightSections ( bool highlight ) |
void | setMinimumSectionSize ( int size ) |
void | setMovable ( bool movable ) |
void | setResizeMode ( ResizeMode mode ) |
void | setResizeMode ( int logicalIndex, ResizeMode mode ) |
void | setSectionHidden ( int logicalIndex, bool hide ) |
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 () |
virtual void | setModel ( QAbstractItemModel * model ) |
virtual QSize | sizeHint () const |
void | headerDataChanged ( Qt::Orientation orientation, int logicalFirst, int logicalLast ) |
void | setOffset ( int offset ) |
void | setOffsetToLastSection () |
void | setOffsetToSectionPosition ( int visualIndex ) |
void | geometriesChanged () |
void | sectionAutoResize ( int logicalIndex, QHeaderView::ResizeMode mode ) |
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 & current, const QModelIndex & old ) |
virtual bool | event ( QEvent * e ) |
virtual int | horizontalOffset () const |
virtual void | mouseDoubleClickEvent ( QMouseEvent * e ) |
virtual void | mouseMoveEvent ( QMouseEvent * e ) |
virtual void | mousePressEvent ( QMouseEvent * e ) |
virtual void | mouseReleaseEvent ( QMouseEvent * e ) |
virtual void | paintEvent ( QPaintEvent * e ) |
virtual void | setSelection ( const QRect & rect, QItemSelectionModel::SelectionFlags flags ) |
virtual int | verticalOffset () const |
virtual bool | viewportEvent ( QEvent * e ) |
void | resizeSections () |
void | sectionsAboutToBeRemoved ( const QModelIndex & parent, int logicalFirst, int logicalLast ) |
void | sectionsInserted ( const QModelIndex & parent, int logicalFirst, int logicalLast ) |
The QHeaderView class provides a header row or header column for item views.
A QHeaderView displays the headers used in item views such as the QTableView and QTreeView classes. It takes the place of Qt3's QHeader class previously used for the same purpose, but uses the Qt's model/view architecture for consistency with the item view classes.
The QHeaderView class is one of the Model/View Classes and is part of Qt's model/view framework.
The header gets the data for each section from the model using the QAbstractItemModel::headerData() function. You can set the data by using QAbstractItemModel::setHeaderData().
Each header has an orientation() and a number of sections, given by the count() function. A section refers to a part of the header - either a row or a column, depending on the orientation.
Sections can be moved and resized using moveSection() and resizeSection(); they can also be hidden and shown with hideSection() and showSection().
Each section of a header is described by a section ID, specified by its section(), and can be located at a particular visualIndex() in the header. A section can have a sort indicator set with setSortIndicator(); this indicates whether the items in the associated item view will be sorted in the order given by the section.
For a horizontal header the section is equivalent to a column in the model, and for a vertical header the section is equivalent to a row in the model.
A header can be fixed in place, or made movable with setMovable(). It can be made clickable with setClickable(), and has resizing behavior in accordance with setResizeMode().
Note: Double-clicking on a header to resize a section only applies for visible rows.
A header will emit sectionMoved() if the user moves a section, sectionResized() if the user resizes a section, and sectionClicked() as well as sectionHandleDoubleClicked() in response to mouse clicks. A header will also emit sectionCountChanged() and sectionAutoResize().
You can identify a section using the logicalIndex() and logicalIndexAt() functions, or by its index position, using the visualIndex() and visualIndexAt() functions. The visual index will change if a section is moved, but the logical index will not change.
QTableWidget and QTableView create default headers. If you want the headers to be visible, you can use setVisible().
Not all ItemDataRoles will have an effect on a QHeaderView. If you need to draw other roles, you can subclass QHeaderView and reimplement paintEvent(). QHeaderView respects the following item data roles: TextAlignmentRole, DisplayRole, FontRole, DecorationRole, ForegroundRole, and BackgroundRole.
Note: Each header renders the data for each section itself, and does not rely on a delegate. As a result, calling a header's setItemDelegate() function will have no effect.
See also Model/View Programming, QListView, QTableView, and QTreeView.
The resize mode specifies the behavior of the header sections. It can be set on the entire header view or on individual sections using setResizeMode().
Constant | Value | Description |
---|---|---|
QHeaderView::Interactive | 0 | The user can resize the section. The section can also be resized programmatically using resizeSection(). The section size defaults to defaultSectionSize. (See also cascadingSectionResizes.) |
QHeaderView::Fixed | 2 | The user cannot resize the section. The section can only be resized programmatically using resizeSection(). The section size defaults to defaultSectionSize. |
QHeaderView::Stretch | 1 | QHeaderView will automatically resize the section to fill the available space. The size cannot be changed by the user or programmatically. |
QHeaderView::ResizeToContents | 3 | QHeaderView will automatically resize the section to its optimal size based on the contents of the entire column or row. The size cannot be changed by the user or programmatically. (This value was introduced in 4.2) |
The following values are obsolete:
Constant | Value | Description |
---|---|---|
QHeaderView::Custom | Fixed | Use Fixed instead. |
See also setResizeMode(), stretchLastSection, and minimumSectionSize.
This property holds whether interactive resizing will be cascaded to the following sections once the section being resized by the user has reached its minimum size.
This property only affects sections that have Interactive as their resize mode.
The default value is false.
This property was introduced in Qt 4.2.
Access functions:
bool | cascadingSectionResizes () const |
void | setCascadingSectionResizes ( bool enable ) |
See also setResizeMode().
This property holds the default alignment of the text in each header section.
This property was introduced in Qt 4.1.
Access functions:
Qt::Alignment | defaultAlignment () const |
void | setDefaultAlignment ( Qt::Alignment alignment ) |
This property holds the default size of the header sections before resizing.
This property only affects sections that have Interactive or Fixed as their resize mode.
Access functions:
int | defaultSectionSize () const |
void | setDefaultSectionSize ( int size ) |
See also setResizeMode() and minimumSectionSize.
This property holds whether the sections containing selected items are highlighted.
By default, this property is false.
Access functions:
bool | highlightSections () const |
void | setHighlightSections ( bool highlight ) |
This property holds the minimum size of the header sections.
The minimum section size is the smallest section size allowed. If the minimum section size is set to -1, QHeaderView will use the maximum of the global strut or the font metrics size.
This property is honored by all resize modes.
This property was introduced in Qt 4.2.
Access functions:
int | minimumSectionSize () const |
void | setMinimumSectionSize ( int size ) |
See also setResizeMode() and defaultSectionSize.
This property holds whether the sort indicator is shown.
By default, this property is false.
Access functions:
bool | isSortIndicatorShown () const |
void | setSortIndicatorShown ( bool show ) |
See also setClickable().
This property holds whether the last visible section in the header takes up all the available space.
The default value is false.
Note: The horizontal headers provided by QTreeView are configured with this property set to true, ensuring that the view does not waste any of the space assigned to it for its header. If this value is set to true, this property will override the resize mode set on the last section in the header.
Access functions:
bool | stretchLastSection () const |
void | setStretchLastSection ( bool stretch ) |
See also setResizeMode().
Creates a new generic header with the given orientation and parent.
Destroys the header.
Returns the number of sections in the header.
See also sectionCountChanged() and length().
Reimplemented from QAbstractItemView::currentChanged().
Reimplemented from QObject::event().
This signal is emitted when the header's geometries have changed.
This function was introduced in Qt 4.2.
Updates the changed header sections with the given orientation, from logicalFirst to logicalLast inclusive.
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.6 | |
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |
Copyright © 2000-2012 - www.developpez.com