手机版

Qt ModelView 学习笔记(4)

发布时间:2021-06-08   来源:未知    
字号:

qt相关资料

先装配出一个QDirModel以供使用,再创建views去显示目录的内容。这给我展示了使用model的最简单的方式。

model的创建与使用都在main()函数中完成:

int main(int argc, char *argv[])

{

QApplication app(argc, argv);

QSplitter *splitter = new QSplitter;

QDirModel *model = new QDirModel;

//从缺省目录创建数据

QTreeView *tree = new QTreeView(splitter);

tree->setModel(model);

tree->setRootIndex(model->index(QDir::currentPath()));

QListView *list = new QListView(splitter);

list->setModel(model);

list->setRootIndex(model->index(QDir::currentPath()));

//配置一个view去显示model中的数据,只需要简单地调用setModel(),并把目录model作为参数传递

//setRootIndex()告诉views显示哪个目录的信息,这需要提供一个model index,然后用这个

//model index去model中去获取数据

//index()这个函数是QDirModel特有的,通过把一个目录做为参数,得到了需要的model index

//其他的代码只是窗口show出来,进入程序的事件循环就好了

splitter->setWindowTitle("Two views onto the same directory model");

splitter->show();

return app.exec();

}

上面的例子并没有展示如何处理数据项的选择,这包括很多细节,以后会提到。

Qt Model/View 学习笔记 (三)

清源游民 gameogre@

Model类

基本概念

在model/view构架中,model为view和delegates使用数据提供了标准接口。在Qt中,标准接口QAbstractItemModel类中被定义。不管数据在底层以何种数据结构存储,QAabstractItemModel的子类会以层次结构的形式来表示数据,结构中包含了数据项表。我们按这种约定来访问model中的数据项,但这个约定不会对如何显示这些数据有任何限制。数据发生改变时,model通过信号槽机制来

Qt ModelView 学习笔记(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)