- qtgui
- qtdbus
- qtwidgets
- qtcore
- dtkcore
- qsettingbackend_zh
- dobject_zh
- abstractappender_zh
- abstractstringappender_zh
- dfilewatcher_zh
- outputdebugappender_zh
- dsettingsbackend_zh
- drecentmanager_zh
- ddesktopentry_zh
- consoleappender_zh
- gsettingsbackend_zh
- dsettingsgroup_zh
- dlogmanager_zh
- fileappender_zh
- dsettings_zh
- dfilesystemwatcher_zh
- dfilewatchermanager_zh
- dbasefilewatcher_zh
- dtkgui
- dtkwidget
- dviewitemaction_zh
- dstandarditem_zh
- dfiledialog_zh
- dclipeffectwidget_zh
- danchors_zh
- dgraphicsclipeffect_zh
- dstyle_zh
- dcoloredprogressbar_zh
- dbuttonboxbutton_zh
- dlabel_zh
- dtiplabel_zh
- darrowlinedrawer_zh
- daboutdialog_zh
- dsettingswidgetfactory_zh
- dsearchcombobox_zh
- dcrumbedit_zh
- dcommandlinkbutton_zh
- dsettingsdialog_zh
- dwindowoptionbutton_zh
- dspinner_zh
- dsimplelistview_zh
- dwaterprogress_zh
- dmainwindow_zh
- dhidpihelper_zh
- dslider_zh
- dpasswordedit_zh
- danchorinfo_zh
- dmpriscontrol_zh
- darrowbutton_zh
- dbackgroundgroup_zh
- dcircleprogress_zh
- dwarningbutton_zh
- dwindowclosebutton_zh
- dvideowidget_zh
- dfilechooseredit_zh
- dblureffectwidget_zh
- darrowrectangle_zh
- dsearchedit_zh
- dfloatingmessage_zh
- dswitchlineexpand_zh
- dtabbar_zh
- dlineedit_zh
- danchorsbase_zh
- dstylediconengine_zh
- dwindowmaxbutton_zh
- dpageindicator_zh
- dsuggestbutton_zh
- dapplicationsettings_zh
- dtooltip_zh
- dwindowminbutton_zh
- ddrawer_zh
- dtitlebar_zh
- dsimplelistitem_zh
- dpicturesequenceview_zh
qlistview_zh
Class::QListView
暂无该属性
Detailed Description
QListView 类基于模型实现了一个显示列表的视图,它可以是列表视图或图标视图。
QListView 将存储在模型中的数据项以简单的非层级列表或图标集合的形式呈现。该类可以替代之前由QListBox
类和QIconView
类提供的列表和图标视图,使用 Qt 的模型/视图体系结构更加灵活。
QListView 类是 Model/View Classes 中的视图类之一,也是 Qt Model/View Programming 的一部分。
该视图无法显示水平或垂直表头,如果要显示一个数据项列表和一个水平表头,使用 QTreeView 替代。
QListView 实现 QAbstractItemView 类定义的接口,允许展示 QAbstractItemModel 派生模型所提供的数据。
列表视图里面的数据可通过两种视图模型中的任意一种来显示:在 ListMode 中,数据项以一个简单列表的形式显示;在 IconMode 中,视图列表使用icon view,使数据项以图标形式显示,就类似于文件管理器中的文件。默认情况下,列表视图为 ListMode 。若要更改视图模式,须使用 setViewMode() 函数,若要确定当前视图模式,可以使用 viewMode() 函数。
列表视图中,数据项排列的方向取决于 flow() 函数。数据项固定或允许移动,取决于视图的 movement() 函数。
如果模型中的项目不能完全按照流动方向布置,根据 isWrapping() 的属性,这些数据项会在视图部件的边界处换行;尤其是当数据项由图标视图表示时,此函数属性非常实用。
resizeMode() 函数和 layoutMode() 函数控制数据项是否会根据布局大小的调整进行自动布局,以及数据项的布局模式。数据项分布的间隔通过 spacing() 函数控制,数据项存储在一个概念网格中,该网格大小由 gridSize() 函数控制。数据项的图标大小由 iconSize() 函数控制。
性能提升
当要显示大量数据项时,提前向视图提供需要处理的数据,这样就能提升性能。将 uniformItemSizes 属性的值设置为 True 可以使视图显示大小相同的数据项。
See also View Classes Item Views Puzzle Example QTreeView QTableView QListWidget
QListView::QListView
QListView(QWidget *parent) 可以创建一个新的 QListView ,并设置_parent_参数(使用给定的父项)来查看模型。使用 setModel() 函数设置模型。
QListView::QListView
QListView(const QListView &)
QListView::QListView
QListView(QListViewPrivate &dd, QWidget *parent)
QListView::batchSize
int batchSize() const See also setBatchSize()
QListView::clearPropertyFlags
void clearPropertyFlags() 若要清除 QListView 特定的属性标志。请参见 viewMode 属性。
继承自 QAbstractItemView 类的属性不会被属性标志覆盖。具体来说,在调用 setMovement() 函数或 setViewMode() 函数时,才会运算 QAbstractItemView::dragEnabled 和 QAbstractItemView::acceptDrops 属性。
QListView::contentsSize
QSize contentsSize() const
QListView::currentChanged
void currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override
QListView::d_func
QListViewPrivate * d_func()
QListView::d_func
const QListViewPrivate * d_func() const
QListView::dataChanged
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector &roles) override
QListView::doItemsLayout
void doItemsLayout() override 根据 flow 属性和 warpping 属性布局数据项。
QListView::dragLeaveEvent
void dragLeaveEvent(QDragLeaveEvent *e) override
QListView::dragMoveEvent
void dragMoveEvent(QDragMoveEvent *e) override
QListView::dropEvent
void dropEvent(QDropEvent *event) override
QListView::event
bool event(QEvent *e) override
QListView::flow
QListView::Flow flow() const See also setFlow()
QListView::gridSize
QSize gridSize() const See also setGridSize()
QListView::horizontalOffset
int horizontalOffset() const override
QListView::indexAt
QModelIndex indexAt(const QPoint &p) const override
QListView::indexesMoved
void indexesMoved(const QModelIndexList &indexes) 当指定的_indexes_在视图中移动时,会发出此信号。
QListView::isIndexHidden
bool isIndexHidden(const QModelIndex &index) const override
QListView::isRowHidden
bool isRowHidden(int row) const
如果_row_被隐藏,则返回值为True
;否则返回值为false
。
QListView::isSelectionRectVisible
bool isSelectionRectVisible() const
QListView::isWrapping
bool isWrapping() const
QListView::itemAlignment
Qt::Alignment itemAlignment() const See also setItemAlignment()
QListView::layoutMode
QListView::LayoutMode layoutMode() const See also setLayoutMode()
QListView::metaObject
const QMetaObject * metaObject() const override
QListView::modelColumn
int modelColumn() const See also setModelColumn()
QListView::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *e) override
QListView::mouseReleaseEvent
void mouseReleaseEvent(QMouseEvent *e) override
QListView::moveCursor
QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override
QListView::movement
QListView::Movement movement() const See also setMovement()
QListView::operator=
QListView & operator=(const QListView &)
QListView::paintEvent
void paintEvent(QPaintEvent *e) override
QListView::qt_metacall
int qt_metacall(QMetaObject::Call , int , void **) override
QListView::qt_metacast
void * qt_metacast(const char *) override
QListView::qt_static_metacall
void qt_static_metacall(QObject *, QMetaObject::Call , int , void **)
QListView::rectForIndex
QRect rectForIndex(const QModelIndex &index) const 返回模型中位于_index_处的数据项的矩形。矩形与内容保持协调。
See also visualRect()
QListView::reset
void reset() override
QListView::resizeContents
void resizeContents(int width, int height) 调整内部内容的_width_和_height_,并设置相应滚动条的范围。
QListView::resizeEvent
void resizeEvent(QResizeEvent *e) override
QListView::resizeMode
QListView::ResizeMode resizeMode() const See also setResizeMode()
QListView::rowsAboutToBeRemoved
void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override
QListView::rowsInserted
void rowsInserted(const QModelIndex &parent, int start, int end) override
QListView::scrollContentsBy
void scrollContentsBy(int dx, int dy) override 滚动浏览视图时,视图在 X、Y 方向上各移动_dx_、_dy_距离
QListView::scrollTo
void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint) override
QListView::selectedIndexes
QModelIndexList selectedIndexes() const override
QListView::selectionChanged
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override
QListView::setBatchSize
void setBatchSize(int batchSize) See also batchSize()
QListView::setFlow
void setFlow(QListView::Flow flow) See also flow()
QListView::setGridSize
void setGridSize(const QSize &size) See also gridSize()
QListView::setItemAlignment
void setItemAlignment(Qt::Alignment alignment) See also itemAlignment()
QListView::setLayoutMode
void setLayoutMode(QListView::LayoutMode mode) See also layoutMode()
QListView::setModelColumn
void setModelColumn(int column) See also modelColumn()
QListView::setMovement
void setMovement(QListView::Movement movement) See also movement()
QListView::setPositionForIndex
void setPositionForIndex(const QPoint &position, const QModelIndex &index) 位于模型_index_处的数据项,数据项内容的位置会被设置为给定_position_。但如果列表视图的移动模式是不可移动的或是视图列表模式,此函数将不起作用。
QListView::setResizeMode
void setResizeMode(QListView::ResizeMode mode) See also resizeMode()
QListView::setRootIndex
void setRootIndex(const QModelIndex &index) override
QListView::setRowHidden
void setRowHidden(int row, bool hide) 如果_hide_的值为 True ,则给定的_row_将被隐藏;否则将显示该_row_。
See also isRowHidden()
QListView::setSelection
void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override
QListView::setSelectionRectVisible
void setSelectionRectVisible(bool show) See also isSelectionRectVisible()
QListView::setSpacing
void setSpacing(int space) See also spacing()
QListView::setUniformItemSizes
void setUniformItemSizes(bool enable) See also uniformItemSizes()
QListView::setViewMode
void setViewMode(QListView::ViewMode mode) See also viewMode()
QListView::setWordWrap
void setWordWrap(bool on) See also wordWrap()
QListView::setWrapping
void setWrapping(bool enable) See also isWrapping()
QListView::spacing
int spacing() const See also setSpacing()
QListView::startDrag
void startDrag(Qt::DropActions supportedActions) override
QListView::timerEvent
void timerEvent(QTimerEvent *e) override
QListView::uniformItemSizes
bool uniformItemSizes() const See also setUniformItemSizes()
QListView::updateGeometries
void updateGeometries() override
QListView::verticalOffset
int verticalOffset() const override
QListView::viewMode
QListView::ViewMode viewMode() const See also setViewMode()
QListView::viewOptions
QStyleOptionViewItem viewOptions() const override
QListView::viewportSizeHint
QSize viewportSizeHint() const override
QListView::visualIndex
int visualIndex(const QModelIndex &index) const
QListView::visualRect
QRect visualRect(const QModelIndex &index) const override
QListView::visualRegionForSelection
QRegion visualRegionForSelection(const QItemSelection &selection) const override 自4.7起,返回的区域只与可视区域交叉(或包含在可视区域中)的矩形。
QListView::wheelEvent
void wheelEvent(QWheelEvent *e) override
QListView::wordWrap
bool wordWrap() const See also setWordWrap()
QListView::~QListView
~QListView() 销毁视图 QListView::LeftToRightLeftToRight
Constant | Description |
---|---|
QListView::LeftToRight | 数据项在视图中从左至右排列。 |
QListView::TopToBottomTopToBottom | |
Constant | Description |
:------- | :----- |
QListView::TopToBottom | 数据项在视图中从上至下排列。 |
QListView::SinglePassSinglePass
Constant | Description |
---|---|
QListView::SinglePass | 所有数据项立即进行布局。 |
QListView::BatchedBatched | |
Constant | Description |
:------- | :----- |
QListView::Batched | 数据项按照 batchSize 属性所设置的数值分批布局。 |
See also batchSize QListView::StaticStatic
Constant | Description |
---|---|
QListView::Static | 用户无法移动数据项。 |
QListView::FreeFree | |
Constant | Description |
:------- | :----- |
QListView::Free | 用户可任意移动数据项。 |
QListView::SnapSnap | |
Constant | Description |
:------- | :----- |
QListView::Snap | 当数据项移动时,数据项会被捕捉到指定的网格。请参见 setGridSize() 函数。 |
QListView::FixedFixed
Constant | Description |
---|---|
QListView::Fixed | 数据项仅在第一次显示视图时进行布局。 |
QListView::AdjustAdjust | |
Constant | Description |
:------- | :----- |
QListView::Adjust | 每次调整视图大小时,数据项都会重新布局。 |
QListView::ListModeListMode
Constant | Description |
---|---|
QListView::ListMode | 使用 TopToBottom 布局,以小图标显示数据项,并且数据项只能静态移动(项目不能被用户移动)。 |
QListView::IconModeIconMode | |
Constant | Description |
:------- | :----- |
QListView::IconMode | 使用 LeftToRight 布局,以大图标显示数据项,并且数据项可以任意移动。 |
当 layoutMode 属性设置为 Batched 时,此属性用于控制每个批量的数量。 默认值为100。
此属性用于控制数据项的布局方向。
如果属性为 LeftToRight ,则数据项将从左至右进行布局。如果 isWrapping 属性的值为True
,则当数据项排列至可见视图的最右侧时,会自动换行。如果属性为 TopToBottom ,则当数据项排列至可见视图的最下方时,会自动换行。
当视图可见时,该属性的设置会导致视图中的数据项重新布局。
TopToBottom 为此属性的默认属性。
See also viewMode 此属性用于控制布局中网格的大小。 此属性表示数据项排列所在网格的大小。 gridSize 默认值是空,这表示此处没有网格,且数据项的排列不按网格布局进行排列。将此属性的值设置为非空时,将启动网格布局。(当网格布局生效时, spacing 属性被忽略。)
当视图可见时,该属性的设置会导致视图中的数据项重新布局。
See also viewMode 此属性用于控制数据项是否换行。 此属性用于控制当可见区域中没有多余的空间时,是否应该换行。并且由 flow 属性决定该布局中换行位置。
当视图可见时,该属性的设置会导致视图中的数据项重新布局。
false
为此属性的默认值。
See also viewMode 此属性用于控制数据单元格中每个数据项的对齐方式。 该属性仅支持启用了 TopToBottom 排列方式并允许自动换行的 ListMode 。对齐方式默认为0,此时,数据项将完全填充单元格。
此属性用于控制数据项的布局是立即进行还是延迟进行。 此属性用于控制数据项的布局模式。当模式为 SinglePass (默认模式)时,所有的数据项都将被一次性布局。当模式是 Batched 时,在处理事件时,数据项根据 batchSize 设置的值分批进行排列。当剩余数据项被按批次排列时,能够立即查看已经排列好的可见项目并与之交互。
See also viewMode 此属性用于显示可见模型的列。 默认情况下,该属性默认为0,表示显示模型中的第一列。
此属性用于控制数据项移动是可以移动至任何位置,还是只能移至视图的概念网格中,或者不允许被移动。 此属性用于控制用户在视图中移动数据项的方式。 Static 表示数据项不能被用户移动。 Free 表示用户可以将数据项拖放到视图中的任意位置。 Snap 表示用户可以拖放数据项,但只能拖放到 gridSize 属性所指定的概念网格中。
当视图可见时,该属性的设置会导致视图中的数据项重新布局。
Static 为该属性的默认属性。
See also gridSize resizeMode viewMode 此属性用于控制当调整视图大小时,数据项是否会重新布局。 如果该属性为 Adjust ,当调整视图大小时,数据项会重新布局。如果该属性为 Fixed ,当调整视图大小时,数据项仍保持原来的布局。
Fixed 为此属性的默认属性。
See also movement gridSize viewMode
此属性用于控制选定的矩形是否应为可见状态。
如果该属性的值为True
,那么选定的矩形则是可见的;否则该矩形将被隐藏。
**Note:**该属性仅在可以选择多个数据项时才有效;当选定模式是 QAbstractItemView::SingleSelection 时,则此属性不会生效。
false
为此属性的默认值。
该属性用于控制布局中数据项周围空白部分的大小。 此属性表示布局中数据项周围空白部分的大小。
当视图可见时,该属性的设置会导致视图中的数据项重新布局。
默认情况下,该属性的值为0。
See also viewMode 此属性用于控制所有在列表视图中的数据项是否具有相同大小。 只有在需要保证视图中所有数据项的大小都相同时,才会将该属性的值设置为 True 。这对视图的性能有一定的优化作用。
false
为此属性的默认值。
此属性用于控制 QListView 的视图模型。 此属性会改变其它尚未设置的属性,以符合当前的视图模式。 QListView 的特定属性一旦被设置,将不会被改变,除非调用了函数。
移动属性将控制设置的视图模式将启用或禁用拖放。 ListMode 下,默认移动属性是 Static (禁用拖放); IconMode 下,默认移动属性是 Free (启用拖放)。
See also isWrapping spacing gridSize flow movement resizeMode
此属性用于控制数据项中的文字是否自动换行。
当此属性的值为True
时,则在数据项文本中分词的适当处进行换行;否则数据项文本不进行换行处理。false
为该属性的默认值。
请注意,即使启用自动换行,单元格也不会自动适应文本大小。基于视图的 QAbstractItemView::textElideMode 属性,它会用省略号代替显示无法显示出的文本。