QT疑难杂症之QML程序中如何使用文件系统模型QFileSystemModel?

简介

本文介绍了 QML程序中如何使用树状控件TreeView展示QT文件系统模型QFileSystemModel中的数据,并给出了两种实现模式。

目录

QML程序中使用文件系统模型的代码

树状控件自定义+文件系统模型

正文

QML程序中使用文件系统模型的代码

先在C++主程序中创建一个QFileSystemModel的模型对象,并跟QML根上下文建立关联关系。

在这里插入图片描述

QFileSystemModel与QML
然后在QML程序中加如下代码即可实现在QML中使用QT文件系统模型。

在这里插入图片描述

QML中的QFileSystemModel
上述QML代码之所以如此简洁,根本原因在于QT6中提供了TreeViewDelegate这个QML类型,极大的简化了QML树状控件的自定义过程。由此可见QT6新版本还是做了很多工作,对QT框架做了不少的改进。

在这里插入图片描述
QT6开始提供的TreeViewDelegate类型

在这里插入图片描述

QT6开始提供的TreeViewDelegate类型

树状控件自定义+文件系统模型

如果想按照传统模式自定义树状控件,则可以按照如下代码进行自定义,这种模式比较繁琐一点,也可以实现QML树状控件和文件系统模型配合使用。

在这里插入图片描述

QML树状控件自定义

本文相关的另一个文章:

QT QML:QT疑难杂症之如何使用自定义模型实现文件系统模型?类似QFileSystemModel,却比QFileSystemModel更好用?

总结

通过本文的介绍,读者应该能够了解 QML程序中如何使用树状控件TreeView展示QT文件系统模型QFileSystemModel中的数据。

如果您认为这篇文章对您有所帮助,请您一定立即点赞+喜欢+收藏,本文作者将能从您的点赞+喜欢+收藏中获取到创作新的好文章的动力。如果您认为作者写的文章还有一些参考价值,您也可以关注这篇文章的作者。

posted @ 2023-07-08 11:08  QT界面美化性能优化  阅读(75)  评论(0编辑  收藏  举报  来源