49 QFileSystemModel

在这个案例中,借助QFileSystemModel类的对象,表示计算机磁盘上的文件系统,将其关联于QTreeView、QTableView和QListView三种不同的视图。不难发现,即便是同一个模型,当从不同视图看过去时,亦呈现出不同的逻辑结构。通过QTreeView看到的模型呈树状结构,通过QTableView看到的模型呈表格结构,而通过QListView看到的模型则呈列表结构。这为将同一个数据源展现为不同的外观,提供了可能。

49.1 创建项目

通过QtCreator,在C:\Users\Minwei\Projects\Qt路径下,创建名为FileSystem的项目。

49.2 设计界面

C:\Users\Minwei\Projects\Qt\FileSystem\filesystemdialog.ui:

49.3 实现功能

C:\Users\Minwei\Projects\Qt\FileSystem\filesystemdialog.h:

C:\Users\Minwei\Projects\Qt\FileSystem\filesystemdialog.cpp:

49.4 测试验证

运行效果如图所示: