Qt进阶开发:QDirModel的使用

一、QDirModel的基本介绍

  QDirModel是 Qt 早期用于显示文件系统(目录、文件)的 QAbstractItemModel 之一,它用于配合 QTreeView 以层级结构显示文件夹和文件。需要注意的是QDirModel 在 Qt 4.6 之后被 QFileSystemModel 取代,不推荐在新项目中使用 QDirModel,应使用 QFileSystemModel 代替。
它们的主要区别:

  • QDirModel 会加载所有子目录和文件,导致大量目录时性能较差。
  • QFileSystemModel 是懒加载的,不会预加载所有子目录,性能更好。

二、QDirModel的基本使用

2.1 在 QTreeView 中显示文件系统

#include <QApplication>
#include <QTreeView>
#include <QDirModel>

int main(int argc, char *argv[]) {
   
   
    QApplication app(argc, argv);

    // 创建 QDirModel
    QDirModel model;
    model.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); // 显示所有文件和文件夹

    // 创建 QTreeView
    QTreeView treeView;
    treeView.setModel(&model);

    // 设置根目录(桌面路径)
    QModelIndex rootIndex = model.index(QDir::homePath());  
    treeView.setRootIndex(rootIndex);

    // 显示窗口
    treeView.resize(800, 600);
    treeView.show();
    
    return app.exec();
}

在这里插入图片描述

2.2 在 QListView 显示当前目录

#include <QApplication>
#include <QListView>
#include <QDirModel>

int main(int argc, char *argv[]) {
   
   
    QApplication app(argc,<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值