900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Qt模型视图框架:QListView

Qt模型视图框架:QListView

时间:2023-08-28 04:57:46

相关推荐

Qt模型视图框架:QListView

一、描述

QListView 将存储在模型中的项目呈现为简单的非分层列表或图标集合。此视图不显示水平或垂直标题。

QStandardItemModel * model = new QStandardItemModel;for(int i = 0; i < 11; ++i){QStandardItem *item = new QStandardItem(QString::number(i));model->appendRow(item);}QListView listView;listView.setModel(model);listView.show();

二、类型成员

1、enum QListView::Flow:项目布局流向方向。

LeftToRight:项在视图中从左到右排列。如果isWrapping属性为 true,则布局将在到达可见区域的右侧时换行。TopToBottom:项在视图中从上到下排列。(默认)

2、enum QListView::LayoutMode:项目的布局是应该立即发生还是延迟发生。

SinglePass:项目一次全部布局。Batched:项目按 batchSize属性进行批量布局。

3、enum QListView::Movement:如何在视图中移动项目

Static:不能移动项目。(默认)Free:可以自由移动项目。Snap:移动时项目对齐到指定的网格。

4、enum QListView::ResizeMode:在调整视图大小时是否再次对项目进行布局。

Fixed:只有在第一次显示视图时才会对项目进行布局。Adjust:每次调整视图大小时都会对项目进行布局。

5、enum QListView::ViewMode:视图模式

ListMode:项目使用从上到下流布局,小尺寸,禁用拖放。IconMode:项目使用从左到右流布局,大尺寸,启用拖放。

三、属性成员

1、batchSize:int

如果 layoutMode 设置为Batched,则此属性保存每个批次中布局的项目数。默认值为 100。

2、gridSize : QSize

此属性是布置项目的网格的大小。默认为空尺寸,这意味着没有网格并且布局不在网格中完成。 将此属性设置为非空大小会打开网格布局。(当网格布局生效时,spacing属性将被忽略。)

3、isWrapping:bool

此属性保存当可见区域中没有更多空间时布局是否应换行。布局环绕的点取决于flow(QListView::Flow)属性。默认情况下,此属性为 false。

4、itemAlignment : Qt::Alignment

此属性保存其单元格中每个项目的对齐方式。这仅在具有 TopToBottom 流和 isWrapping 为true时受支持。默认为 0,即项目完全填充其单元格。

5、modelColumn:int

此属性保存模型中可见的列。

6、selectionRectVisible : bool

如果选择模式处于可以选择多个项目的模式,选择矩形是否可见。默为 false。(QAbstractItemView::SelectionMode)

7、spacing : int

此属性是在布局中的项目周围填充的空白空间的大小。默认为0。

8、uniformItemSizes : bool

此属性保存列表视图中的所有项目是否具有相同的大小。默认为 false。

9、wordWrap : bool

如果此属性为true,则项目文本会在必要的断字处换行。默认为 false。

四、成员函数

1、[signal] void indexesMoved(const QModelIndexList &indexes)

指定的索引在视图中移动时会发出此信号。

2、void clearPropertyFlags()

清除设置的 QListView::ViewMode

3、bool isRowHidden(int row)

某行是否已隐藏。

4、QRect rectForIndex(const QModelIndex &index)

返回模型中 index 位置项的矩形。

5、void setRowHidden(int row, bool hide)

设置某行隐藏或者显示。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。