PySide6.QtWidgets.QListView¶
- class QListView¶
QListView
类提供了一个列表或图标视图来显示模型。更多…继承自:
QUndoView
,QListWidget
,QHelpIndexWidget
概要¶
属性¶
batchSizeᅟ
- 如果layoutMode设置为Batched,则每批中布局的项目数量flowᅟ
- 项目布局应该流动的方向gridSizeᅟ
- 布局网格的大小isWrappingᅟ
- 项目布局是否应该换行itemAlignmentᅟ
- 每个项目在其单元格中的对齐方式layoutModeᅟ
- 确定项目的布局是否应立即进行或延迟modelColumnᅟ
- 模型中可见的列movementᅟ
- 项目是否可以自由移动,是否对齐到网格,或者完全不能移动resizeModeᅟ
- 当视图调整大小时,项目是否重新布局selectionRectVisibleᅟ
- 如果选择矩形应该可见spacingᅟ
- 布局中项目周围的间距uniformItemSizesᅟ
- 列表视图中的所有项目是否具有相同的大小viewModeᅟ
- QListView的视图模式wordWrapᅟ
- 项目文本的换行策略
方法¶
def
__init__()
def
batchSize()
def
contentsSize()
def
flow()
def
gridSize()
def
isRowHidden()
def
isWrapping()
def
itemAlignment()
def
layoutMode()
def
modelColumn()
def
movement()
def
rectForIndex()
def
resizeContents()
def
resizeMode()
def
setBatchSize()
def
setFlow()
def
setGridSize()
def
setLayoutMode()
def
setModelColumn()
def
setMovement()
def
setResizeMode()
def
setRowHidden()
def
setSpacing()
def
setViewMode()
def
setWordWrap()
def
setWrapping()
def
spacing()
def
viewMode()
def
wordWrap()
信号¶
def
indexesMoved()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个
QListView
展示存储在模型中的项目,可以是一个简单的非层次列表,也可以是一组图标。这个类用于提供以前由QListBox
和QIconView
类提供的列表和图标视图,但使用了Qt的模型/视图架构提供的更灵活的方法。QListView
类是 Model/View Classes 之一,并且是 Qt 的 model/view framework 的一部分。此视图不显示水平或垂直标题;要显示带有水平标题的项目列表,请改用
QTreeView
。QListView
实现了由QAbstractItemView
类定义的接口,使其能够显示从 QAbstractItemModel 类派生的模型提供的数据。列表视图中的项目可以使用两种视图模式之一显示:在
ListMode
中,项目以简单列表的形式显示;在IconMode
中,列表视图采用图标视图的形式,其中项目像文件管理器中的文件一样显示图标。默认情况下,列表视图处于ListMode
。要更改视图模式,请使用setViewMode()
函数,要确定当前视图模式,请使用viewMode()
。这些视图中的项目按照列表视图的
flow()
指定的方向排列。项目可以固定不动,也可以移动,这取决于视图的movement()
状态。如果模型中的项目无法在流动方向上完全布局,它们可以在视图小部件的边界处换行;这取决于
isWrapping()
。当项目由图标视图表示时,此属性非常有用。resizeMode()
和layoutMode()
控制项目的布局方式和时间。项目根据它们的spacing()
进行间距调整,并且可以存在于由gridSize()
指定大小的概念网格中。项目可以根据它们的iconSize()
渲染为大图标或小图标。提高性能¶
为了提高显示大量项目时的性能,可以向视图提供有关其处理的数据的提示。对于旨在显示大小相等的项目的视图,可以采取的一种方法是将
uniformItemSizes
属性设置为true。- class Movement¶
常量
描述
QListView.Static
用户无法移动项目。
QListView.Free
用户可以将项目自由移动。
QListView.Snap
当移动时,项目会对齐到指定的网格;参见
setGridSize()
。
- class Flow¶
常量
描述
QListView.LeftToRight
项目在视图中从左到右排列。
QListView.TopToBottom
项目在视图中从上到下排列。
- class ResizeMode¶
常量
描述
QListView.Fixed
项目只会在视图首次显示时布局。
QListView.Adjust
每次调整视图大小时,项目将重新布局。
- class LayoutMode¶
常量
描述
QListView.SinglePass
项目一次性布局完成。
QListView.Batched
项目以
batchSize
个项目为一批进行布局。另请参阅
- class ViewMode¶
常量
描述
QListView.ListMode
项目使用
TopToBottom
流布局,具有小尺寸和静态移动QListView.IconMode
项目使用
LeftToRight
流布局,具有大尺寸和自由移动
注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property batchSizeᅟ: int¶
如果
layoutMode
设置为Batched
,此属性表示每批布局的项目数量。默认值为100。
- Access functions:
- property flowᅟ: QListView.Flow¶
此属性决定了项目布局的流动方向。
如果此属性为
LeftToRight
,则项目将从左到右排列。如果isWrapping
属性为true
,则当布局到达可见区域的右侧时将换行。如果此属性为TopToBottom
,则项目将从可见区域的顶部开始排列,当到达底部时将换行。当视图可见时设置此属性将导致项目重新布局。
默认情况下,此属性设置为
TopToBottom
。另请参阅
此属性保存布局网格的大小。
此属性是项目布局的网格大小。默认值为空大小,这意味着没有网格,布局不在网格中进行。将此属性设置为非空大小将启用网格布局。(当网格布局生效时,
spacing
属性将被忽略。)当视图可见时设置此属性将导致项目重新布局。
另请参阅
- Access functions:
- property isWrappingᅟ: bool¶
此属性决定项目布局是否应换行。
此属性决定当可见区域没有更多空间时,布局是否应该换行。布局换行的点取决于
flow
属性。当视图可见时设置此属性将导致项目重新布局。
默认情况下,此属性为
false
。另请参阅
- Access functions:
- property itemAlignmentᅟ: Combination of Qt.AlignmentFlag¶
此属性保存每个项目在其单元格中的对齐方式。
这仅在
ListMode
模式下支持,且需要TopToBottom
流和启用换行。默认对齐方式为0,这意味着项目完全填充其单元格。- Access functions:
- property layoutModeᅟ: QListView.LayoutMode¶
此属性决定项目的布局是否应立即进行或延迟。
此属性保存项目的布局模式。当模式为
SinglePass
(默认)时,项目会一次性布局完成。当模式为Batched
时,项目会以batchSize
为批次进行布局,同时处理事件。这使得在布局其余项目时,可以立即查看和与可见项目进行交互。另请参阅
- Access functions:
- property modelColumnᅟ: int¶
此属性保存模型中可见的列。
默认情况下,此属性包含0,表示将显示模型中的第一列。
- Access functions:
- property movementᅟ: QListView.Movement¶
此属性决定项目是否可以自由移动、是否对齐到网格,或者完全不能移动。
此属性决定了用户如何移动视图中的项目。
Static
表示用户无法移动项目。Free
表示用户可以拖动项目并将其放置到视图中的任何位置。Snap
表示用户可以拖动项目,但只能将其放置到由gridSize
属性表示的概念网格中的位置。当视图可见时设置此属性将导致项目重新布局。
默认情况下,此属性设置为
Static
。另请参阅
- Access functions:
- property resizeModeᅟ: QListView.ResizeMode¶
此属性决定当视图调整大小时是否重新布局项目。
如果此属性为
Adjust
,当视图调整大小时,项目将重新布局。如果值为Fixed
,当视图调整大小时,项目将不会重新布局。默认情况下,此属性设置为
Fixed
。- Access functions:
- property selectionRectVisibleᅟ: bool¶
此属性决定选择矩形是否应可见。
如果此属性为
true
,则选择矩形可见;否则它将隐藏。注意
选择矩形只有在选择模式处于可以选择多个项目的模式时才会可见;也就是说,如果选择模式是
SingleSelection
,则不会绘制选择矩形。默认情况下,此属性为
false
。- Access functions:
- property spacingᅟ: int¶
此属性保存布局中项目周围的空间。
此属性是布局中项目周围填充的空格大小。
当视图可见时设置此属性将导致项目重新布局。
默认情况下,此属性包含的值为0。
另请参阅
- Access functions:
- property uniformItemSizesᅟ: bool¶
此属性表示列表视图中的所有项目是否具有相同的大小。
只有在保证视图中所有项目的大小相同的情况下,才应将此属性设置为true。这使得视图能够为了性能目的进行一些优化。
默认情况下,此属性为
false
。- Access functions:
- property viewModeᅟ: QListView.ViewMode¶
此属性保存
QListView
的视图模式。此属性将更改其他未设置的属性以符合设置的视图模式。除非调用了
clearPropertyFlags()
,否则已经设置的QListView
特定属性将不会被更改。设置视图模式将根据所选移动方式启用或禁用拖放功能。对于
ListMode
,默认移动方式是Static
(拖放功能禁用);对于IconMode
,默认移动方式是Free
(拖放功能启用)。- Access functions:
- property wordWrapᅟ: bool¶
此属性保存项目文本的自动换行策略。
如果此属性为
true
,则项目文本在必要时在断字处换行;否则完全不换行。此属性默认为false
。请注意,即使启用了换行功能,单元格也不会扩展以腾出空间显示文本。根据视图的
textElideMode
,它将为无法显示的文本打印省略号。- Access functions:
创建一个新的
QListView
,使用给定的parent
来查看模型。使用setModel()
来设置模型。- batchSize()¶
- Return type:
整数
另请参阅
属性
batchSizeᅟ
的获取器。- clearPropertyFlags()¶
清除
QListView
特定的属性标志。请参阅viewMode
。从
QAbstractItemView
继承的属性不受属性标志的覆盖。具体来说,dragEnabled
和acceptsDrops
是由QListView
在调用setMovement()
或setViewMode()
时计算的。属性
flowᅟ
的获取器。- gridSize()¶
- Return type:
另请参阅
属性
gridSizeᅟ
的获取器。- indexesMoved(indexes)¶
- Parameters:
索引 – .QModelIndex 列表
当指定的
indexes
在视图中移动时,会发出此信号。- isRowHidden(row)¶
- Parameters:
行 – 整数
- Return type:
布尔
如果
row
被隐藏,则返回true
;否则返回false
。- isSelectionRectVisible()¶
- Return type:
布尔
属性
selectionRectVisibleᅟ
的获取器。- isWrapping()¶
- Return type:
布尔
属性
isWrappingᅟ
的获取器。- itemAlignment()¶
- Return type:
AlignmentFlag
的组合
另请参阅
属性
itemAlignmentᅟ
的获取器。- layoutMode()¶
- Return type:
另请参阅
属性
layoutModeᅟ
的获取器。- modelColumn()¶
- Return type:
整数
另请参阅
属性
modelColumnᅟ
的获取器。- movement()¶
- Return type:
另请参阅
属性
movementᅟ
的获取器。- rectForIndex(index)¶
- Parameters:
索引 –
QModelIndex
- Return type:
返回模型中位于
index
位置的项目的矩形。该矩形位于内容坐标中。另请参阅
visualRect()
- resizeContents(width, height)¶
- Parameters:
width – int
height – int
- resizeMode()¶
- Return type:
另请参阅
属性
resizeModeᅟ
的获取器。- setBatchSize(batchSize)¶
- Parameters:
batchSize – int
另请参阅
属性
batchSizeᅟ
的设置器。属性
flowᅟ
的设置器。属性
gridSizeᅟ
的设置器。- setItemAlignment(alignment)¶
- Parameters:
alignment –
AlignmentFlag
的组合
另请参阅
属性
itemAlignmentᅟ
的设置器。- setLayoutMode(mode)¶
- Parameters:
mode –
LayoutMode
另请参阅
属性
layoutModeᅟ
的设置器。- setModelColumn(column)¶
- Parameters:
列 – int
另请参阅
属性
modelColumnᅟ
的设置器。属性
movementᅟ
的设置器。- setPositionForIndex(position, index)¶
- Parameters:
position –
QPoint
index –
QModelIndex
将模型中
index
处项目的内容位置设置为给定的position
。如果列表视图的移动模式是静态的或其视图模式是ListView,此函数将无效。- setResizeMode(mode)¶
- Parameters:
mode –
ResizeMode
另请参阅
属性
resizeModeᅟ
的设置器。- setRowHidden(row, hide)¶
- Parameters:
row – int
hide – 布尔值
如果
hide
为真,给定的row
将被隐藏;否则row
将显示。另请参阅
- setSelectionRectVisible(show)¶
- Parameters:
显示 – 布尔值
属性
selectionRectVisibleᅟ
的设置器。属性
spacingᅟ
的设置器。- setUniformItemSizes(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
uniformItemSizesᅟ
的设置器。属性
viewModeᅟ
的设置器。- setWordWrap(on)¶
- Parameters:
on – 布尔值
另请参阅
属性
wordWrapᅟ
的设置器。- setWrapping(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
isWrappingᅟ
的设置器。- spacing()¶
- Return type:
整数
另请参阅
属性
spacingᅟ
的获取器。- uniformItemSizes()¶
- Return type:
布尔
属性
uniformItemSizesᅟ
的获取器。- viewMode()¶
- Return type:
另请参阅
属性
viewModeᅟ
的获取器。- wordWrap()¶
- Return type:
布尔
另请参阅
属性
wordWrapᅟ
的获取器。