目录

详细说明

成员类型说明

数据成员说明

成员函数说明


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&amp;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相关推荐

  1. Python Qt GUI设计:QTableView、QListView、QListWidet、QTableWidget、QTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)

    目录 1.QTableView类 2.QListView类 3.QListWidet类 4.QTableWidget类 5.QTreeWidget和QTreeWidgetltem类 表格与树解决的问题 ...

  2. Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4)...

    Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4) 今天再次分析了Eva的源码,也看 ...

  3. qt中QListView的用法和QModelIndex的使用

    使用QTreeView,对于很多函数中针对item的唯一标识QModelIndex的使用,记录下两种对于QModelIdex的使用 1,树形结构的item设置为选中 QModelIndex rootI ...

  4. Qt之QListView使用

    记录下使用QListView遇到的各种问题 QListView可以用来以列表的形式展示数据,在Qt中使用model/View结构来管理数据与视图的关系,model负责数据的存取,数据的交互通过dele ...

  5. QT 如何去除QListView选中item后的虚线框

    在使用QListView或者QListWidget时,如果选中其item,会发现边框会出现虚线框,这并不美观!所以,我们需要去掉选中后的虚线框.在查阅各路大神的实现方式后,总结了有三种方法可以去除虚线 ...

  6. listview qt 选中内容_演练: 操作Qt应用中的QListView

    演练:操作Qt应用中的List 背景 需要针对Qt的ListView组件开发的列表应用进行操作和自动化测试.ListView通常用于含有大量可选项的窗口,比如文件列表.清单等等.以下我们对QListV ...

  7. PyQt(Python+Qt)学习随笔:QListView的itemAlignment属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的itemAlignment属性用于控制每个数据项的对齐方式,其类型为枚举类Qt. ...

  8. Qt模型视图框架:QListView

    一.描述 QListView 将存储在模型中的项目呈现为简单的非分层列表或图标集合.此视图不显示水平或垂直标题. QStandardItemModel * model = new QStandardI ...

  9. (Qt项视图Demo)封装下链式结构(QListView)的MVC(MVD)用法

    对于一些数据量小的列表我们使用QListWidget往往能满足开发的需求,但是对于大数据量的展示来说(几十万,上百万)来说的话,全部加载是一个不是很合适的方法.因此我们使用MVC,这里可能应该叫MVD ...

  10. Qt之使用QListView实现QQ登录历史列表

    一.效果 真实效果没白色边框 二.实现 从效果图中可以看出,有以下特点: 1.悬浮滚动条 自定义半透明滚动条悬浮在Item之上,与原挤占Item宽度的滚动条效果相同 2.支持指定最大显示行数 效果图中 ...

最新文章

  1. python3 numpy array_python 3和numpy数组
  2. 协方差中的正相关与负相关 指的是线性代数中的线性相关
  3. 服务器选哪个系统,服务器选择哪个操作系统
  4. 对软件测试工程师面试题目的回答[转]
  5. 任务的定义、任务切换的原理及实现
  6. spring源码分析之spring-core-env
  7. hdu 2602 Bone Collector(01背包)
  8. Exaple2_1(显示转换)
  9. eclipse如何显示行数
  10. 怎么把php写入文件格式,如何将一个PHP数组有格式的写入文件中
  11. IOS --xcode删除Provisioning Profiles文件
  12. Win8(X64)下MySQL5.6版本安装及配置
  13. 设计模式面试题_2020年最全设计模式面试题总结!面试再也不用怕!已有千人收藏
  14. WinRAR命令行参数
  15. cadence ic5141安装包_linux下安装cadence ic5141
  16. KeyShot 11.1 现已推出
  17. 市值暴跌7成,马斯克急了:特斯拉是最有价值的公司!
  18. xgboost的调优
  19. 抖音天花板,电商冲不破
  20. 2020、2021近两年全球人口变化数据集

热门文章

  1. css 六角形_创建数字六角形瓷砖图(第1部分)
  2. 【工具】(九):Mac工具整理
  3. QTableView详细使用说明
  4. Python暴力破解wifi密码
  5. 谷歌浏览器正式版(稳定版)离线安装包下载大全
  6. CentOS7 安装aria2
  7. 故障:删除不存在的设备或完全卸载驱动程序
  8. php最长公共子串,PHP实现求两个字符串最长公共子串的方法示例
  9. java:换行符“\n”
  10. 开源离线语音识别(SpeechRecognition)