QT QListView
目录
详细说明
成员类型说明
数据成员说明
成员函数说明
QListView类提供模型的列表或图标视图。
Header: #include <QListView>
qmake: QT += widgets
Inherits: QAbstractItemView.
Inherited By:
QListWidget and QUndoView.
详细说明
QListView类提供模型的列表或图标视图。
QListView将存储在模型中的项显示为简单的非层次列表或图标集合。此类用于提供以前由QListBox和QIconView类提供的列表和图标视图,但使用Qt的模型/视图体系结构提供的更灵活的方法。
QListView类是模型/视图类之一,是Qt的模型/视图框架的一部分。
此视图不显示水平或垂直标题;要显示具有水平标题的项目列表,请改用QTreeView。
QListView实现由QAbstractItemView 类定义的接口,以允许它显示从QAbstractItemModel 类派生的模型提供的数据。
列表视图中的项目可以使用两种视图模式之一显示:在列表模式中,项目以简单列表的形式显示;在IconMode中,列表视图采用图标视图的形式,其中的项目以图标的形式显示,就像文件管理器中的文件一样。默认情况下,列表视图处于列表模式。要更改视图模式,请使用setViewMode()函数;要确定当前视图模式,请使用viewMode()。
这些视图中的项按列表视图的flow()指定的方向排列。根据视图的movement()状态,这些项可以固定到位,也可以允许移动。
如果模型中的项目不能完全按照流的方向进行布局,则可以将它们包装在视图小部件的边界处;这取决于isWrapping()。当项目由图标视图表示时,此属性非常有用。
resizeMode()和layoutMode()控制项目的布局方式和时间。项目根据其间距()隔开,并且可以存在于gridSize()指定的大小的概念网格中。项目可以呈现为大图标或小图标,具体取决于它们的iconSize()。
提高性能
在显示大量项目时,可以向视图提示正在处理的数据,以提高其性能。对于要显示大小相等的项的视图,可以采取的一种方法是将uniformItemSizes属性设置为true。
另请参见视图类、项目视图示例、QTreeView、QTableView和QListWidget。
成员类型说明
enum QListView::Flow
Constant Value Description
QListView::LeftToRight 0 The items are laid out in the view from the left to the right.
QListView::TopToBottom 1 The items are laid out in the view from the top to the bottom.
enum QListView::LayoutMode
Constant Value Description
QListView::SinglePass 0 The items are laid out all at once.
QListView::Batched 1 The items are laid out in batches of batchSize items.
See also batchSize.
enum QListView::Movement
Constant Value Description
QListView::Static 0 The items cannot be moved by the user.
QListView::Free 1 The items can be moved freely by the user.
QListView::Snap 2 The items snap to the specified grid when moved; see setGridSize().
enum QListView::ResizeMode
Constant Value Description
QListView::Fixed 0 The items will only be laid out the first time the view is shown.
QListView::Adjust 1 The items will be laid out every time the view is resized.
enum QListView::ViewMode
Constant Value Description
QListView::ListMode 0 The items are laid out using TopToBottom flow, with Small size and Static movement
QListView::IconMode 1 The items are laid out using LeftToRight flow, with Large size and Free movement
数据成员说明
batchSize:int
如果layoutMode设置为Batched,则此属性保存在每个批中布置的项目数。
默认值为100。
Qt4.2中引入了这个属性。
访问函数:
int batchSize()常量
void setBatchSize(int batchSize)
flow:Flow
此属性保留项布局应流向的方向。
如果此属性为LeftToRight,则项目将从左到右排列。如果isWrapping属性为true,则当布局到达可见区域的右侧时将进行环绕。如果此属性为TopToBottom,则项目将从可见区域的顶部开始布局,到达底部时将进行包装。
当视图可见时设置此属性将导致项目再次布局。
默认情况下,此属性设置为TopToBottom。
访问函数:
Flow flow() const
void setFlow(Flow flow)
请参见viewMode。
gridSize:QSize
此属性保存布局网格的大小。
此属性是放置项的网格的大小。默认值为空,这意味着没有网格,并且布局没有在网格中完成。将此属性设置为非空大小将切换网格布局(当栅格布局生效时,将忽略“间距”特性。)
当视图可见时设置此属性将导致项目再次布局。
访问函数:
QSize gridSize()const
void setGridSize(const QSize&size)
请参见viewMode。
isWrapping:bool
此属性保存项布局是否应换行。
此属性用于保存当可见区域中没有更多空间时布局是否应换行。布局换行的点取决于流特性。
当视图可见时设置此属性将导致项目再次布局。
默认情况下,此属性为false。
访问功能:
bool isWrapping()const
void setWrapping(bool enable)
请参见viewMode。
layoutMode : LayoutMode
此属性确定项目的布局是立即进行还是延迟进行。
此属性保存项的布局模式。当模式为SinglePass(默认设置)时,项目将一次性全部布局。当模式是批处理时,在处理事件时,项目以批大小项目的形式进行布局。这使得在布置其他项目时,可以立即查看可见项目并与之交互。
访问函数:
LayoutMode layoutMode() const
void setLayoutMode(LayoutMode mode)
请参见viewMode。
modelColumn : int
此属性保存模型中可见的列。
默认情况下,此属性包含0,表示将显示模型中的第一列。
访问函数:
int modelColumn() const
void setModelColumn(int column)
movement : Movement
此属性包含项目是否可以自由移动、是否捕捉到网格或是否完全不能移动。
此属性确定用户如何移动视图中的项。静态意味着用户无法移动项目。自由意味着用户可以将项目拖放到视图中的任何位置。Snap意味着用户可以拖放项目,但只能拖放到gridSize属性所表示的概念网格中的位置。
当视图可见时设置此属性将导致项目再次布局。
默认情况下,此属性设置为“静态”。
访问功能:
Movement movement() const
void setMovement(Movement movement)
请参见gridSize、resizeMode和viewMode。
resizeMode : ResizeMode
此属性保存在调整视图大小时是否再次布局项。
如果此属性为“调整”,则在调整视图大小时,项目将再次布局。如果该值是固定的,则在调整视图大小时将不布局项目。
默认情况下,此属性设置为“固定”。
访问函数:
ResizeMode resizeMode() const
void setResizeMode(ResizeMode mode)
请参见movement, gridSize, and viewMode.。
selectionRectVisible : bool
如果选择矩形应可见,则此属性有效。
如果此属性为真,则选择矩形可见;否则就会被隐藏起来。
注意:只有在选择模式为可选择多个项目的模式时,选择矩形才可见;i、 例如,如果选择模式为QAbstractItemView::SingleSelection,则不会绘制选择矩形。
默认情况下,此属性为false。
Qt4.3中引入了这个属性。
访问函数:
bool isSelectionRectVisible() const
void setSelectionRectVisible(bool show)
spacing : int
此属性保留布局中项目周围的空间。
此属性是布局中项目周围填充的空白空间的大小。
当视图可见时设置此属性将导致项目再次布局。
默认情况下,此属性包含值0。
访问函数:
int spacing() const
void setSpacing(int space)
请参见viewMode。
uniformItemSizes : bool
此属性保存listview中的所有项是否具有相同的大小。
只有在保证视图中的所有项具有相同大小的情况下,才应将此属性设置为true。这使视图能够出于性能目的进行一些优化。
默认情况下,此属性为false。
qt4.1中引入了这个属性。
访问函数:
bool uniformItemSizes() const
void setUniformItemSizes(bool enable)
viewMode : ViewMode
此属性保存QListView的视图模式。
此属性将更改其他未设置的属性以符合“设置视图”模式。除非已调用clearPropertyFlags(),否则不会更改已设置的QListView特定属性。
设置视图模式将根据选定的移动启用或禁用拖放。对于ListMode,默认的移动是静态的(禁止拖放);对于IconMode,默认移动是自由的(已启用拖放)。
访问功能:
ViewMode ViewMode()常量
void setViewMode(视图模式)
另请参见isWrapping、spacing、gridSize、flow、movement和resizeMode。
wordWrap : bool
此属性保存项文本字包装策略。
如果此属性为true,则在必要的分词处对项目文本进行包装;否则根本就不包。默认情况下,此属性为false。
请注意,即使启用了换行,单元格也不会展开以为文本腾出空间。根据视图的textelimodeme,它将为无法显示的文本打印省略号。
Qt4.2中引入了这个属性。
访问函数:
bool wordWrap() const
void setWordWrap(bool on)
成员函数说明
QListView::QListView(QWidget * parent = 0)
创建具有给定父级的新QListView以查看模型。使用setModel()设置模型。
QListView::~QListView()
销毁视图
void QListView::clearPropertyFlags()
清除QListView特定的属性标志。请参见viewMode。
属性标志不包括从QAbstractItemView继承的属性。具体来说,dragEnabled和acceptsDrops是在调用setMovement()或setViewMode()时由QListView计算的。
[virtual protected] void QListView::currentChanged(const QModelIndex & current, const QModelIndex & previous)
从QAbstractItemView::currentChanged()重新实现。
[virtual protected] void QListView::dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight, const QVector<int> & roles = QVector<int> ())
从QAbstractItemView::dataChanged()重新实现。
[virtual protected] void QListView::dragLeaveEvent(QDragLeaveEvent * e)
从QWidget::dragleavevent()重新实现。
[virtual protected] void QListView::dragMoveEvent(QDragMoveEvent * e)
从QWidget::dragMoveEvent()重新实现。
[virtual protected] void QListView::dropEvent(QDropEvent * e)
从QWidget::dropEvent()重新实现。
[virtual protected] bool QListView::event(QEvent * e)
从QObject::event()重新实现。
[virtual protected] int QListView::horizontalOffset() const
从QAbstractItemView::horizontalOffset()重新实现。
[virtual] QModelIndex QListView::indexAt(const QPoint & p) const
从QAbstractItemView::indexAt()重新实现。
[signal] void QListView::indexesMoved(const QModelIndexList & indexes)
当指定的索引在视图中移动时,会发出此信号。
这个函数是在qt4.2中引入的。
[virtual protected] bool QListView::isIndexHidden(const QModelIndex & index) const
从QAbstractItemView::isIndexHidden()重新实现。
bool QListView::isRowHidden(int row) const
如果行被隐藏,则返回true;否则返回false。
[virtual protected] void QListView::mouseMoveEvent(QMouseEvent * e)
从QWidget::mouseMoveEvent()重新实现。
[virtual protected] void QListView::mouseReleaseEvent(QMouseEvent * e)
从QWidget::mouseReleaseEvent()重新实现。
[virtual protected] QModelIndex QListView::moveCursor(CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
从QAbstractItemView::moveCursor()重新实现。.
[virtual protected] void QListView::paintEvent(QPaintEvent * e)
从QWidget::paintEvent()重新实现。
[protected] QRect QListView::rectForIndex(const QModelIndex & index) const
返回模型中位置索引处的项的矩形。矩形在内容坐标中。
另请参见visualRect()。
[virtual protected] void QListView::resizeEvent(QResizeEvent * e)
从QWidget::resizeEvent()重新实现。
[virtual protected] void QListView::rowsAboutToBeRemoved(const QModelIndex & parent, int start, int end)
从QAbstractItemView::rowsAboutToBeRemoved()重新实现。
[virtual protected] void QListView::rowsInserted(const QModelIndex & parent, int start, int end)
从QAbstractItemView::rowsInserted()重新实现。
[virtual] void QListView::scrollTo(const QModelIndex & index, ScrollHint hint = EnsureVisible)
从QAbstractItemView::scrollTo()重新实现。
[virtual protected] QModelIndexList QListView::selectedIndexes() const
从QAbstractItemView::selectedIndexes()重新实现。
[virtual protected] void QListView::selectionChanged(const QItemSelection & selected, const QItemSelection & deselected)
从QAbstractItemView::selectionChanged()重新实现。
[protected] void QListView::setPositionForIndex(const QPoint & position, const QModelIndex & index)
将模型中索引处的项的内容位置设置为给定位置。如果列表视图的移动模式为静态或视图模式为ListView,则此函数将不起作用。
这个函数是在qt4.1中引入的。
void QListView::setRowHidden(int row, bool hide)
如果hide为true,则给定的行将被隐藏;否则将显示该行。
另请参见isRowHidden()。
[virtual protected] void QListView::setSelection(const QRect & rect, QItemSelectionModel::SelectionFlags command)
Reimplemented from QAbstractItemView::setSelection().
[virtual protected] void QListView::startDrag(Qt::DropActions supportedActions)
从QAbstractItemView::setSelection()重新实现。
[virtual protected] void QListView::timerEvent(QTimerEvent * e)
从QAbstractItemView::startDrag()重新实现。
[virtual protected] void QListView::updateGeometries()
从QObject::timerEvent()重新实现。
[virtual protected] int QListView::verticalOffset() const
从QAbstractItemView::verticalOffset()重新实现。
[virtual protected] QStyleOptionViewItem QListView::viewOptions() const
从QAbstractItemView::viewOptions()重新实现。
[virtual protected] QSize QListView::viewportSizeHint() const
从QAbstractScrollArea::viewportSizeHint()重新实现。
这个函数是在qt5.2中引入的。
[virtual] QRect QListView::visualRect(const QModelIndex & index) const
从QAbstractItemView::visualRect()重新实现。
[virtual protected] QRegion QListView::visualRegionForSelection(const QItemSelection & selection) const
从QAbstractItemView::visualRegionForSelection()重新实现。
从4.7开始,返回的区域只包含与视口相交(或包含在视口中)的矩形。
QT QListView相关推荐
- Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)
目录 1.QTableView类 2.QListView类 3.QListWidet类 4.QTableWidget类 5.QTreeWidget和QTreeWidgetltem类 表格与树解决的问题 ...
- Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4)...
Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4) 今天再次分析了Eva的源码,也看 ...
- qt中QListView的用法和QModelIndex的使用
使用QTreeView,对于很多函数中针对item的唯一标识QModelIndex的使用,记录下两种对于QModelIdex的使用 1,树形结构的item设置为选中 QModelIndex rootI ...
- Qt之QListView使用
记录下使用QListView遇到的各种问题 QListView可以用来以列表的形式展示数据,在Qt中使用model/View结构来管理数据与视图的关系,model负责数据的存取,数据的交互通过dele ...
- QT 如何去除QListView选中item后的虚线框
在使用QListView或者QListWidget时,如果选中其item,会发现边框会出现虚线框,这并不美观!所以,我们需要去掉选中后的虚线框.在查阅各路大神的实现方式后,总结了有三种方法可以去除虚线 ...
- listview qt 选中内容_演练: 操作Qt应用中的QListView
演练:操作Qt应用中的List 背景 需要针对Qt的ListView组件开发的列表应用进行操作和自动化测试.ListView通常用于含有大量可选项的窗口,比如文件列表.清单等等.以下我们对QListV ...
- PyQt(Python+Qt)学习随笔:QListView的itemAlignment属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的itemAlignment属性用于控制每个数据项的对齐方式,其类型为枚举类Qt. ...
- Qt模型视图框架:QListView
一.描述 QListView 将存储在模型中的项目呈现为简单的非分层列表或图标集合.此视图不显示水平或垂直标题. QStandardItemModel * model = new QStandardI ...
- (Qt项视图Demo)封装下链式结构(QListView)的MVC(MVD)用法
对于一些数据量小的列表我们使用QListWidget往往能满足开发的需求,但是对于大数据量的展示来说(几十万,上百万)来说的话,全部加载是一个不是很合适的方法.因此我们使用MVC,这里可能应该叫MVD ...
- Qt之使用QListView实现QQ登录历史列表
一.效果 真实效果没白色边框 二.实现 从效果图中可以看出,有以下特点: 1.悬浮滚动条 自定义半透明滚动条悬浮在Item之上,与原挤占Item宽度的滚动条效果相同 2.支持指定最大显示行数 效果图中 ...
最新文章
- python3 numpy array_python 3和numpy数组
- 协方差中的正相关与负相关 指的是线性代数中的线性相关
- 服务器选哪个系统,服务器选择哪个操作系统
- 对软件测试工程师面试题目的回答[转]
- 任务的定义、任务切换的原理及实现
- spring源码分析之spring-core-env
- hdu 2602 Bone Collector(01背包)
- Exaple2_1(显示转换)
- eclipse如何显示行数
- 怎么把php写入文件格式,如何将一个PHP数组有格式的写入文件中
- IOS --xcode删除Provisioning Profiles文件
- Win8(X64)下MySQL5.6版本安装及配置
- 设计模式面试题_2020年最全设计模式面试题总结!面试再也不用怕!已有千人收藏
- WinRAR命令行参数
- cadence ic5141安装包_linux下安装cadence ic5141
- KeyShot 11.1 现已推出
- 市值暴跌7成,马斯克急了:特斯拉是最有价值的公司!
- xgboost的调优
- 抖音天花板,电商冲不破
- 2020、2021近两年全球人口变化数据集