主要就是model和view两个部分,如果需要再多一层control
现在来看看代码
// 创建一个 QSplitter 小部件,它允许用户通过拖动分隔条来调整子窗口的大小。
QSplitter *splitter = new QSplitter();
// 创建一个 QFileSystemModel 模型,该模型用于表示文件系统中的数据。
// 它可以被视图类(如 QTreeView 或 QListView)使用以显示文件系统的内容。
QFileSystemModel *model = new QFileSystemModel();
// 设置模型的根路径为当前工作目录。这将作为文件系统的起点。
model->setRootPath(QDir::currentPath());
// 创建一个 QTreeView 视图小部件,并将其添加到 QSplitter 中。
// QTreeView 是一种用来显示树形结构数据的控件,非常适合展示文件系统。
QTreeView *tree = new QTreeView(splitter);
// 将文件系统模型设置给 QTreeView,这样 QTreeView 就可以显示文件系统的数据了。
tree->setModel(model);
// 设置 QTreeView 的根索引为当前工作目录的索引。
// 这样,QTreeView 显示的内容将以当前工作目录为根节点。
tree->setRootIndex(model->index(QDir::currentPath()));
// 设置 QSplitter 窗口的标题为 "test"。
splitter->setWindowTitle("test");
// 调整 QSplitter 窗口的大小为 1000x800 像素。
splitter->resize(1000, 800);
// 显示 QSplitter 窗口及其所有子部件。
splitter->show();