model-view模型之QListView和QStringListModel .
2013-01-14 14:12
302 查看
以QListView为例子,QListView是不显示表头和表框的,如果要显示,可以使用QTreeView来代替。
view的显示属性分为列表list显示和icon图标显示,
使用QListView::setViewMode()来设置,默认为list型的
/*
*/
QListView::setModel ()用来设置view所关联的model
获取view中当前的位置,QListView::currentIndex(),返回的是QModelIndex类型的
设置当前行使用QListView::setCurrentIndex(QModelIndex),
设置某行可以编辑,使用QListView::edit(QModelIndex)
当某个QModelIndex被移动时候,信号indexesMoved(QModelIndexList)被发射
当双击某项时候,信号doubleClicked(QModelIndex)被发射
当大几某项时候,信号clicked(QModelIndex)被发射
QStringListModel就是封装了QStringList的model。QStringList是一种很常用的数据类型,它实际上是一个字符串列表。我们可以想象,对于一个list来说,如果提供一个字符串列表形式的数据,就应该能够把这个数据展示出来。因为二者是一致的:QStringList是线性的,而list也是线性的。所以,QStringListModel很多时候都会作为QListView的model。
为model添加关联的数据
QStringList data;
data << "Letter A" <<
"Letter B" << "Letter C";
model->setStringList(data);
model使用insertRows,insertRow来添加多行或一行,使用setData()来设置该行的数据
rowCount()用来获改model的行数
removeRows()和removeRow()用来删除model中的一行或多行,详见API手册
view的显示属性分为列表list显示和icon图标显示,
使用QListView::setViewMode()来设置,默认为list型的
/*
void | setViewMode ( ViewMode mode ) |
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 |
QListView::setModel ()用来设置view所关联的model
获取view中当前的位置,QListView::currentIndex(),返回的是QModelIndex类型的
设置当前行使用QListView::setCurrentIndex(QModelIndex),
设置某行可以编辑,使用QListView::edit(QModelIndex)
当某个QModelIndex被移动时候,信号indexesMoved(QModelIndexList)被发射
当双击某项时候,信号doubleClicked(QModelIndex)被发射
当大几某项时候,信号clicked(QModelIndex)被发射
QStringListModel就是封装了QStringList的model。QStringList是一种很常用的数据类型,它实际上是一个字符串列表。我们可以想象,对于一个list来说,如果提供一个字符串列表形式的数据,就应该能够把这个数据展示出来。因为二者是一致的:QStringList是线性的,而list也是线性的。所以,QStringListModel很多时候都会作为QListView的model。
为model添加关联的数据
QStringList data;
data << "Letter A" <<
"Letter B" << "Letter C";
model->setStringList(data);
model使用insertRows,insertRow来添加多行或一行,使用setData()来设置该行的数据
rowCount()用来获改model的行数
removeRows()和removeRow()用来删除model中的一行或多行,详见API手册
相关文章推荐
- model-view模型之QListView和QStringListModel
- model-view模型之QListView和QStringListModel
- (二)使用预定义模型 QStringListModel例子
- 使用预定义模型 QStringListModel例子
- Qt学习:项视图类之QStringListModel和QListView
- 使用预定义模型 QStringListModel+QStringlist例子
- Qt学习:项视图类之QStringListModel和QListView
- QListView使用学习--QStringListModel的使用
- 模型视图简介、QListWidget、QTreeWidget、QTableWidget、QStringListModel、QFileSystemModel
- (二)使用预定义模型 QStringListModel例子
- Qt学习:项视图类之QStringListModel和QListView
- Qt编程26:QStringListModel与QListView结合使用
- MVC(Model View Controller)模型-视图-控制器
- sencha touch list(列表)、 store(数据源)、model(模型)详解
- QStringListModel
- 一、angular:module-Controller-Model-View (模块-控制器-模型-视图);异步请求$http
- Qt 学习之路:QStringListModel
- 模型/视图编程(Model/View Programming)
- C#-MVC基础-模型(Model)、视图(View)和控制器(Controller)