QHeaderView 类
QHeaderView 类提供一个用于项视图的表头行或列。 更多...
头部 | #include <QHeaderView> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) 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 | isSortIndicatorClearable() 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 | 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 |
重新实现公共函数
virtual void | reset() 覆盖 |
virtual void | setModel(QAbstractItemModel *model) 覆盖 |
virtual void | setVisible(bool v) 覆盖 |
虚 QSize | sizeHint() const 覆盖 |
公共槽
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 | sortIndicatorClearableChanged(bool clearable) |
受保护函数
virtual void | initStyleOption(QStyleOptionHeader *option) const |
(since 6.0) 虚 void | initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const |
virtual void | paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const |
虚 QSize | sectionSizeFromContents(int logicalIndex) const |
重新实现的受保护函数
virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &old) 覆盖 |
虚 bool | event(QEvent *e) 覆盖 |
虚 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) 覆盖 |
虚 int | verticalOffset() const 覆盖 |
虚 bool | viewportEvent(QEvent *e) 覆盖 |
受保护槽
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()隐藏和显示它们。
每个标题部分由一个部分ID描述,由它的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。
成员类型文档
枚举 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.
firstSectionMovable : bool
此属性表示第一列是否可以由用户移动
此属性控制是否可以由用户移动第一列。在 QTreeView 中,第一列包含树结构,因此默认情况下不可移动,即使在调用 setSectionsMovable(true) 之后。
可以通过调用此方法再次使其可移动,例如在没有树结构的扁平列表中。在这种情况下,建议同时调用 QTreeView::setRootIsDecorated(false)。
treeView->setRootIsDecorated(false); treeView->header()->setFirstSectionMovable(true);
除非同时调用 setSectionsMovable(true),否则将其设置为 true 无效。
访问函数
bool | isFirstSectionMovable() const |
void | setFirstSectionMovable(bool movable) |
另请参阅 setSectionsMovable().
highlightSections : bool
此属性表示包含选定项目的区域是否被突出显示
默认情况下,此属性为 false
。
访问函数
bool | highlightSections() const |
void | setHighlightSections(bool highlight) |
maximumSectionSize : int
此属性保存表头区域的最大大小。
最大区域大小是允许的最大区域大小。此属性的默认值是 1048575,也是区域可能的最大大小。将最大值设置为 -1 将将值重置为最大区域大小。
除拉伸外,所有 resize modes 都会遵守此属性。
访问函数
int | maximumSectionSize() const |
void | setMaximumSectionSize(int size) |
另请参阅 setSectionResizeMode() 和 defaultSectionSize.
minimumSectionSize : int
此属性保存表头区域的最小大小。
最小区域大小是允许的最小区域大小。如果最小区域大小设置为 -1,则 QHeaderView 将使用 字体度量 大小。
所有 resize modes 均会遵守此属性。
访问函数
int | minimumSectionSize() const |
void | setMinimumSectionSize(int size) |
另请参阅 setSectionResizeMode() 和 defaultSectionSize.
showSortIndicator : bool
此属性表示是否显示排序指示器
默认情况下,此属性为 false
。
访问函数
bool | isSortIndicatorShown() const |
void | setSortIndicatorShown(bool show) |
另请参阅 setSectionsClickable().
[自 6.1]
sortIndicatorClearable : bool
此属性表示是否可以通过多次点击区域清除排序指示器
该属性控制用户是否能够通过多次点击某个部分来移除该部分的排序指示器。通常情况下,点击某个部分将仅更改该部分的排序顺序。将此属性设置为true后,排序指示器将在升序和降序之间交替后清除;这通常将恢复模型的原始排序。
将此属性设置为true只有在sectionsClickable()也为true时才有效(例如某些视图默认设置为true,比如QTableView,或者在使视图可排序时自动设置,例如通过调用QTreeView::setSortingEnabled)。
此属性自Qt 6.1版引入。
访问函数
bool | isSortIndicatorClearable() const |
void | setSortIndicatorClearable(bool clearable) |
通知器信号
void | sortIndicatorClearableChanged(bool clearable) |
stretchLastSection : bool
此属性表示表头中最后一个可见部分是否占满所有可用空间
默认值为 false。
注意:QTreeView提供的水平表头使用此属性设置为true,确保视图不浪费分配给其表头空间。如果将该值设置为true,则此属性将覆盖表头最后一个部分上设置的调整大小模式。
访问函数
bool | stretchLastSection() const |
void | setStretchLastSection(bool stretch) |
另请参阅:setSectionResizeMode。
成员函数文档
[显式]
QHeaderView::QHeaderView(Qt::Orientation orientation, QWidget *parent = nullptr)
创建一个具有给定orientation和parent的新通用表头。
[虚拟 noexcept]
QHeaderView::~QHeaderView()
销毁表头。
int QHeaderView::count() const
返回表头中的部分数。
另请参阅sectionCountChanged()和length()。
[覆盖虚拟受保护的]
void QHeaderView::currentChanged(const QModelIndex ¤t, const QModelIndex &old)
重新实现了:QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
[覆盖虚拟受保护的]
bool QHeaderView::event(QEvent *e)
重新实现了:QAbstractItemView::event(QEvent *event)
[信号]
void QHeaderView::geometriesChanged()
当表头的几何形状发生变化时发出此信号。
[槽]
void QHeaderView::headerDataChanged(Qt::Orientation orientation, int logicalFirst, int logicalLast)
使用给定的orientation从logicalFirst到logicalLast(含)更新已更改的表头部分。
int QHeaderView::hiddenSectionCount() const
返回已隐藏的头部分区数量。
另请参阅 setSectionHidden() 和 isSectionHidden().
void QHeaderView::hideSection(int logicalIndex)
隐藏由 logicalIndex 指定的分区。
另请参阅 showSection(),isSectionHidden(),hiddenSectionCount (),和 setSectionHidden().
[重载虚受保护]
int QHeaderView::horizontalOffset() const
重实: QAbstractItemView::horizontalOffset() const.
返回头部的水平偏移量。对于垂直头部,此值为0。
另请参阅 offset().
[虚受保护]
void QHeaderView::initStyleOption(QStyleOptionHeader *option) const
使用此 QHeaderView 的值初始化 option。当子类需要 QStyleOptionHeader 但不想自己填充所有信息时,此方法很有用。
另请参阅 QStyleOption::initFrom () 和 initStyleOptionForIndex().
[虚受保护,自 6.0 版起]
void QHeaderView::initStyleOptionForIndex(QStyleOptionHeader *option, int logicalIndex) const
从指定的 logicalIndex 初始化装饰 option。此函数在调用 initStyleOption 后由 paintSection 的默认实现调用。
此功能是在 Qt 6.0 中引入的。
另请参阅 paintSection () 和 initStyleOption().
bool QHeaderView::isSectionHidden(int logicalIndex) const
如果 logicalIndex 指定的分区被显式地隐藏给用户,则返回 true
;否则返回 false
。
另请参阅 hideSection(),showSection(),setSectionHidden() 和 hiddenSectionCount().
int QHeaderView::length() const
返回头部沿其方向的长度。
另请参阅 sizeHint(),setSectionResizeMode() 和 offset().
int QHeaderView::logicalIndex(int visualIndex) const
返回给定 visualIndex 位置分区的逻辑索引,如果 visualIndex < 0 或 visualIndex >= QHeaderView::count,则返回 -1。
请注意,visualIndex 不受隐藏分区的影响。
另请参阅 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()。
[覆盖虚保护]
void QHeaderView::mouseDoubleClickEvent(QMouseEvent *e)
重新实现:QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)。
[覆盖虚保护]
void QHeaderView::mouseMoveEvent(QMouseEvent *e)
重新实现:QAbstractItemView::mouseMoveEvent(QMouseEvent *event)。
[覆盖虚保护]
void QHeaderView::mousePressEvent(QMouseEvent *e)
重新实现:QAbstractItemView::mousePressEvent(QMouseEvent *event)。
[覆盖虚保护]
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。
[覆盖虚保护]
void QHeaderView::paintEvent(QPaintEvent *e)
重新实现:QAbstractScrollArea::paintEvent(QPaintEvent *event)。
[虚拟保护]
void QHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
使用给定的 painter 和 rect 绘制由给定 logicalIndex 指定的节。
通常情况下,您无需调用此函数。
[重写虚拟]
void QHeaderView::reset()
重新实现: QAbstractItemView::reset().
int QHeaderView::resizeContentsPrecision() const
返回 QHeaderView 在 ResizeToContents 下计算的精度。
另请参阅setResizeContentsPrecision() 和 setSectionResizeMode().
void QHeaderView::resizeSection(int logicalIndex, int size)
将指定由 logicalIndex 的节调整大小为 size(像素为单位)。大小参数必须是一个大于或等于零的值。然而,建议不要使用等于零的大小。在这种情况下,应使用 hideSection。
另请参阅sectionResized()、sectionSize() 和 hideSection().
void QHeaderView::resizeSections(QHeaderView::ResizeMode mode)
根据给定的 mode 调整节的大小,忽略当前的大小调整模式。
另请参阅sectionResized().
[保护槽]
void QHeaderView::resizeSections()
根据节的尺寸提示调整节的大小。通常情况下,您无需调用此函数。
bool QHeaderView::restoreState(const QByteArray &state)
恢复此表头视图的 state。如果状态已恢复,此函数返回 true
;否则返回 false
。
另请参阅saveState().
QByteArray QHeaderView::saveState() const
保存此表头视图的当前状态。
要恢复已保存的状态,请将返回值传递给 restoreState。
另请参阅restoreState().
[信号]
void QHeaderView::sectionClicked(int logicalIndex)
当点击一个节时发出此信号。节的逻辑索引由 logicalIndex 指定。
请注意,将也会发出 sectionPressed 信号。
另请参阅setSectionsClickable() 和 sectionPressed().
[信号]
void QHeaderView::sectionCountChanged(int oldCount, int newCount)
当分区数量改变时,即分区被添加或删除时,发生此信号。原始数量由 oldCount 指定,新数量由 newCount 指定。
参见count(),length(),和 headerDataChanged()。
[信号]
void QHeaderView::sectionDoubleClicked(int logicalIndex)
当某个分区被双击时,发生此信号。分区的逻辑索引由 logicalIndex 指定。
另请参阅 setSectionsClickable().
[信号]
void QHeaderView::sectionEntered(int logicalIndex)
当光标移动到分区上并按下鼠标左键时,发生此信号。分区的逻辑索引由 logicalIndex 指定。
另请参阅setSectionsClickable() 和 sectionPressed().
[信号]
void QHeaderView::sectionHandleDoubleClicked(int logicalIndex)
当某个分区被双击时,发生此信号。分区的逻辑索引由 logicalIndex 指定。
另请参阅 setSectionsClickable().
[信号]
void QHeaderView::sectionMoved(int logicalIndex, int oldVisualIndex, int newVisualIndex)
当移动一个分区时发生此信号。分区的逻辑索引由 logicalIndex 指定,旧的索引由 oldVisualIndex 指定,新的索引位置由 newVisualIndex 指定。
参见moveSection()。
int QHeaderView::sectionPosition(int logicalIndex) const
返回特定 logicalIndex 的分区位置,如果分区是隐藏的,则返回 -1。位置是从第一个可见项目的左上角到 logicalIndex 的项目的左上角的像素数。对于水平标题,测量是在 x 轴上进行的,对于垂直标题,测量是在 y 轴上进行的。
[信号]
void QHeaderView::sectionPressed(int logicalIndex)
当分区被按下时,发生此信号。分区的逻辑索引由 logicalIndex 指定。
另请参阅 setSectionsClickable().
QHeaderView::ResizeMode QHeaderView::sectionResizeMode(int logicalIndex) const
返回指定的 logicalIndex 的分区所应用的调整大小模式。
另请参阅:setSectionResizeMode。
[信号]
void QHeaderView::sectionResized(int logicalIndex, int oldSize, int newSize)
当调整分区大小时发生此信号。分区的逻辑编号由 logicalIndex 指定,旧的大小由 oldSize 指定,新的大小由 newSize 指定。
参见resizeSection()。
int QHeaderView::sectionSize(int logicalIndex) const
获取给定 逻辑索引 的宽度(或高度,对于垂直表头)。
另请参阅length(),setSectionResizeMode(),和 defaultSectionSize。
[虚受保护]
QSize QHeaderView::sectionSizeFromContents(int logicalIndex) const
返回由给定 逻辑索引 指定的节的内容的大小。
另请参阅defaultSectionSize。
int QHeaderView::sectionSizeHint(int logicalIndex) const
返回指定 逻辑索引 的节的一个适宜的大小提示。
另请参阅sizeHint,defaultSectionSize,minimumSectionSize,和 maximumSectionSize。
int QHeaderView::sectionViewportPosition(int logicalIndex) const
返回给定 逻辑索引 的节视口位置。
如果节被隐藏,返回值未定义。
另请参阅sectionPosition() 和 isSectionHidden。
[保护槽]
void QHeaderView::sectionsAboutToBeRemoved(const QModelIndex &parent, int logicalFirst, int logicalLast)
当从 父级 中移除节时调用此槽。logicalFirst 和 logicalLast 表示节被移除的位置。
如果只移除了一个节,那么 logicalFirst 和 logicalLast 将相同。
bool QHeaderView::sectionsClickable() const
如果头部可点击,则返回 true
;否则返回 false
。可点击的头部可以设置成允许用户更改与头部相关的视图中的数据表示。
另请参阅 setSectionsClickable().
bool QHeaderView::sectionsHidden() const
如果在头部已隐藏节,则返回 true
;否则返回 false
;
另请参阅setSectionHidden。
[保护槽]
void QHeaderView::sectionsInserted(const QModelIndex &parent, int logicalFirst, int logicalLast)
当在 父级 中插入节时调用此槽。logicalFirst 和 logicalLast 索引表示新节被插入的位置。
如果只插入了一个节,那么 logicalFirst 和 logicalLast 将相同。
bool QHeaderView::sectionsMovable() const
如果头部可以被用户移动,则返回 true
;否则返回 false
。
默认情况下,在QTreeView中(除了第一个之外),段落是可以移动的,而在QTableView中则不可以。
另请参阅 setSectionsMovable().
bool QHeaderView::sectionsMoved() const
如果头部的段落已移动则返回true
;否则返回 false。
参见moveSection()。
[重写虚函数]
void QHeaderView::setModel(QAbstractItemModel *model)
重写:QAbstractItemView::setModel(QAbstractItemModel *model).
[槽函数]
void QHeaderView::setOffset(int offset)
设置头部的偏移量为offset。
[槽函数]
void QHeaderView::setOffsetToLastSection()
设置偏移量使最后一个段落可见。
另请参阅setOffset(),sectionPosition() 和 setOffsetToSectionPosition()。
[槽函数]
void QHeaderView::setOffsetToSectionPosition(int visualSectionNumber)
将偏移量设置为给定visualSectionNumber的段起始位置。visualSectionNumber是不考虑hiddenSections时的实际可见段落。这通常不等于visualIndex。
另请参阅setOffset() 和 sectionPosition()。
void QHeaderView::setResizeContentsPrecision(int precision)
设置在使用ResizeToContents时QHeaderView应该如何计算大小的精确程度。低值将提供不太精确但快的自动调整大小,而高值将提供更精确的调整大小,但可能较慢。
precision数字指定在计算所需大小时应考虑的段数。
默认值是1000,这意味着在自动调整大小时,水平列将查看最多1000行来计算。
特殊值0表示将只查看可视线。特殊值-1将表示查看所有元素。
此值用于QTableView::sizeHintForColumn(),QTableView::sizeHintForRow() 和 QTreeView::sizeHintForColumn()。重写这些函数可以使此函数不起作用。
另请参阅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 描述的大小。
另请参阅 sectionResizeMode()、length() 和 sectionResized().
void QHeaderView::setSectionResizeMode(int logicalIndex, QHeaderView::ResizeMode mode)
将指定由 logicalIndex 确定的表头中表的可以调整大小的约束设置为给定 mode 描述的大小。逻辑索引在调用此函数时应存在。
注意: 如果 stretchLastSection 属性设置为 true,则此设置将对最后一个部分被忽略。这是由 QTreeView 提供的水平表头的默认值。
另请参阅 setStretchLastSection() 和 resizeContentsPrecision().
void QHeaderView::setSectionsClickable(bool clickable)
如果 clickable 为 true,表头将响应对单一点击的反应。
另请参阅 sectionsClickable()、sectionClicked()、sectionPressed() 和 setSortIndicatorShown().
void QHeaderView::setSectionsMovable(bool movable)
如果 movable 为 true,表头部分可以被用户移动;否则它们将固定在位置。
当与 QTreeView 一起使用时,默认情况下第一列是不可移动的(因为它包含树结构)。您可以使用 setFirstSectionMovable(true) 使其可移动。
另请参阅 sectionsMovable()、sectionMoved() 和 setFirstSectionMovable().
[重写虚保护]
void QHeaderView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags)
重实现: QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).
根据指定的 flags 选择给定 rect 中的项。
基类实现不执行任何操作。
void QHeaderView::setSortIndicator(int logicalIndex, Qt::SortOrder order)
根据给定的 logicalIndex 设置指定方向的排序指示器,并从显示它的其他任何部分中移除排序指示器。
logicalIndex 可能是 -1,在这种情况下,不会显示排序指示器,模型将返回其自然顺序。注意,并非所有模型都支持此操作,并且在某些情况下可能会崩溃。
另请参阅 sortIndicatorSection() 和 sortIndicatorOrder().
[重写虚函数]
void QHeaderView::setVisible(bool v)
重写用于属性的访问函数::QWidget::visible。
void QHeaderView::showSection(int logicalIndex)
显示由 logicalIndex 指定的节。
另请参阅hideSection(),isSectionHidden(),hiddenSectionCount() 和 setSectionHidden()。
[重写虚函数]
QSize QHeaderView::sizeHint() const
重写::QAbstractScrollArea::sizeHint() const。
返回适用于此标题的适当大小提示。
另请参阅sectionSizeHint()。
[信号]
void QHeaderView::sortIndicatorChanged(int logicalIndex, Qt::SortOrder order)
当包含排序指示器的节或指示顺序的顺序改变时发出此信号。节的逻辑索引由 logicalIndex 指定,排序顺序由 order 指定。
另请参阅setSortIndicator()。
Qt::SortOrder QHeaderView::sortIndicatorOrder() const
返回排序指示器的顺序。如果没有节有排序指示器,此函数的返回值是不确定的。
另请参阅setSortIndicator() 和 sortIndicatorSection()。
int QHeaderView::sortIndicatorSection() const
返回有排序指示器的节的逻辑索引。默认情况下,这是第 0 个节。
另请参阅setSortIndicator(),sortIndicatorOrder() 和 setSortIndicatorShown()。
int QHeaderView::stretchSectionCount() const
返回设置为扩展模式尺寸的节的数目。在视图中,这可以用来查看当视图的几何形状改变时头视图是否需要调整节的尺寸。
另请参阅stretchLastSection。
void QHeaderView::swapSections(int first, int second)
交换可视为 first 的节与可视为 second 的节。
参见moveSection()。
[重写虚保护函数]
int QHeaderView::verticalOffset() const
重写:QAbstractItemView::verticalOffset() const。
返回标题的垂直偏移量。对于水平标题,这是 0。
另请参阅 offset().
[重写虚保护函数]
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。
© 2024 Qt公司有限公司。本文档中包含的贡献文档的著作权归各自所有者所有。本文档在此提供受 GNU自由文档许可证版本1.3 条款许可,该许可证由自由软件基金会发布。Qt及其相关标志是芬兰的Qt公司及其它国家/地区的商标。所有其他商标均属于各自所有人。