本页内容

QColumnView Class

QColumnView 类提供了一种列视图的模型/视图实现。更多内容...

头文件: #include <QColumnView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QAbstractItemView

属性

公共函数

QColumnView(QWidget *parent = nullptr)
virtual ~QColumnView()
QList<int> columnWidths() const
bool isPreviewColumnVisible() const
QWidget *previewWidget() const
bool resizeGripsVisible() const
void setColumnWidths(const QList<int> &list)
void setPreviewColumnVisible(bool visible)
void setPreviewWidget(QWidget *widget)
void setResizeGripsVisible(bool visible)

重新实现的公共函数

virtual QModelIndex indexAt(const QPoint &point) const override
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override
virtual void selectAll() override
virtual void setModel(QAbstractItemModel *model) override
virtual void setRootIndex(const QModelIndex &index) override
virtual void setSelectionModel(QItemSelectionModel *newSelectionModel) override
virtual QSize sizeHint() const override
virtual QRect visualRect(const QModelIndex &index) const override

信号

void updatePreviewWidget(const QModelIndex &index)

受保护函数

virtual QAbstractItemView *createColumn(const QModelIndex &index)
void initializeColumn(QAbstractItemView *column) const

重新实现的受保护函数

virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous) override
virtual int horizontalOffset() const override
virtual bool isIndexHidden(const QModelIndex &index) const override
virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
virtual void resizeEvent(QResizeEvent *event) override
virtual void rowsInserted(const QModelIndex &parent, int start, int end) override
virtual void scrollContentsBy(int dx, int dy) override
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
virtual int verticalOffset() const override
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const override

详细说明

QColumnView 将模型显示在多个 QListView 中,每个树中的层次结构对应一个 QListView。这有时被称为级联列表。

QColumnView 类是模型/视图类之一,属于 Qt的模型/视图框架。

QColumnView 实现了由QAbstractItemView 类定义的接口,从而能够显示由继承自QAbstractItemModel 类的模型提供的数据。

列视图中的地址信息

另请参阅 “模型/视图编程”。

属性文档

[since 6.11] previewColumnVisible : bool

该属性控制预览列是否可见

默认情况下,visible 设置为true

该枚举类型在 Qt 6.11 中引入。

访问函数:

bool isPreviewColumnVisible() const
void setPreviewColumnVisible(bool visible)

resizeGripsVisible : bool

该属性用于指定列表视图是否显示调整大小控点

默认情况下,visible 设置为 true

访问函数:

bool resizeGripsVisible() const
void setResizeGripsVisible(bool visible)

另请参阅 setRootIndex()。

成员函数文档

[explicit] QColumnView::QColumnView(QWidget *parent = nullptr)

构建一个带有parent 的列视图,用于表示模型的数据。使用setModel()来设置模型。

另请参阅 QAbstractItemModel 。

[virtual noexcept] QColumnView::~QColumnView()

删除该列视图。

QList<int> QColumnView::columnWidths() const

返回一个列表,其中包含该视图中所有列的宽度。

另请参阅 setColumnWidths()。

[virtual protected] QAbstractItemView *QColumnView::createColumn(const QModelIndex &index)

若要在选择项目时为最后一列使用自定义小部件,请重载此函数并返回一个小部件。index 是将分配给视图的根索引。

返回新的视图。QColumnView 将自动获取该小部件的所有权。

另请参阅 setPreviewWidget()。

[override virtual protected] void QColumnView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

重写了:QAbstractItemView::currentChanged (const QModelIndex &current, const QModelIndex &previous)。

[override virtual protected] int QColumnView::horizontalOffset() const

重新实现了:QAbstractItemView::horizontalOffset() const。

[override virtual] QModelIndex QColumnView::indexAt(const QPoint &point) const

重写了:QAbstractItemView::indexAt(const QPoint &point) const。

[protected] void QColumnView::initializeColumn(QAbstractItemView *column) const

复制列视图的行为和选项,并将它们应用到column 中,例如iconSize()、textElideMode()和alternatingRowColors()。在重写createColumn()时,这可能会很有用。

另请参阅 createColumn()。

[override virtual protected] bool QColumnView::isIndexHidden(const QModelIndex &index) const

重写了:QAbstractItemView::isIndexHidden(const QModelIndex &index) const。

[override virtual protected] QModelIndex QColumnView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)

重写了:QAbstractItemView::moveCursor (QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)。

向左移动应跳转到父节点索引;向右移动应跳转到子节点索引,若无子节点则向下移动

QWidget *QColumnView::previewWidget() const

返回预览控件,如果不存在则返回nullptr 。

另请参阅 setPreviewWidget() 和updatePreviewWidget()。

[override virtual protected] void QColumnView::resizeEvent(QResizeEvent *event)

重写了:QAbstractItemView::resizeEvent(QResizeEvent *event)。

[override virtual protected] void QColumnView::rowsInserted(const QModelIndex &parent, int start, int end)

重写了:QAbstractItemView::rowsInserted (const QModelIndex &parent, int start, int end)。

[override virtual protected] void QColumnView::scrollContentsBy(int dx, int dy)

重新实现了:QAbstractScrollArea::scrollContentsBy(int dx, int dy)。

[override virtual] void QColumnView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)

重写了:QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint)。

[override virtual] void QColumnView::selectAll()

重写了:QAbstractItemView::selectAll()。

void QColumnView::setColumnWidths(const QList<int> &list)

将列宽设置为list 中指定的值。列表中的额外值将被保留,并在创建列时使用。

如果列表中的值过少,则仅剩余列的宽度不会被修改。

另请参阅 columnWidths() 和createColumn()。

[override virtual] void QColumnView::setModel(QAbstractItemModel *model)

重写了:QAbstractItemView::setModel(QAbstractItemModel *model)。

void QColumnView::setPreviewWidget(QWidget *widget)

设置预览widget 。

widget 将成为列视图的子元素,并在列区域被删除或设置了新的控件时被销毁。

另请参阅 previewWidget() 和updatePreviewWidget()。

[override virtual] void QColumnView::setRootIndex(const QModelIndex &index)

重写了:QAbstractItemView::setRootIndex(const QModelIndex &index)。

[override virtual protected] void QColumnView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)

重写了:QAbstractItemView::setSelection (const QRect &rect, QItemSelectionModel::SelectionFlags flags)。

[override virtual] void QColumnView::setSelectionModel(QItemSelectionModel *newSelectionModel)

重写了:QAbstractItemView::setSelectionModel(QItemSelectionModel *selectionModel)。

[override virtual] QSize QColumnView::sizeHint() const

重新实现了:QAbstractScrollArea::sizeHint() const。

[signal] void QColumnView::updatePreviewWidget(const QModelIndex &index)

当需要更新预览控件以提供有关index

另请参阅 previewWidget()。

[override virtual protected] int QColumnView::verticalOffset() const

重新实现了:QAbstractItemView::verticalOffset() const。

[override virtual] QRect QColumnView::visualRect(const QModelIndex &index) const

重写了:QAbstractItemView::visualRect(const QModelIndex &index) const。

[override virtual protected] QRegion QColumnView::visualRegionForSelection(const QItemSelection &selection) const

重写了:QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const。

© 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.