博客
关于我
Qt学习笔记 QFileSystemModel 只显示名称
阅读量:227 次
发布时间:2019-03-01

本文共 1599 字,大约阅读时间需要 5 分钟。

通过修改表头,只显示一列

通过修改表头,只显示一列

Qt 提供的 QFileSystemModel 可以提供文件目录树预览功能,但是预览的都自带了Name,size,type, modified等信息。我现在只想显示 name 一列,不想显示 size, type, modified 的信息。

解决办法

方法1:修改 QFileSystemModel

写一个子类,继承自 QFileSystemModel,然后在需要显示 size, type, modified 的地方,把这些信息屏蔽掉。我知道 Qt 的 Model 显示数据,主要是在 data 这个函数中,然后 Model 的列是通过 columnCount 这个函数返回的。所以我重写 columnCount 函数,只返回一列,这一列就是我们想要的名称。

#include 
#include
#include
class MyFileSytemModel : public QFileSystemModel {public: int columnCount(const QModelIndex &parent) const { return 1; }};int main(int argc, char *argv[]) { QApplication a(argc, argv); MyFileSytemModel* model = new MyFileSytemModel; model->setRootPath(QDir::currentPath()); QTreeView* treeView = new QTreeView; treeView->setModel(model); treeView->setRootIndex(model->index(QDir::currentPath())); treeView->show(); return a.exec();}

方法2:修改 TreeView

如果我能把 TreeView 的第 2,3,4 列隐藏,也可以达到我想要的效果。QTreeView 中有个函数 setColumnHidden,可以使用这个函数来隐藏指定的列。

#include 
#include
#include
int main(int argc, char *argv[]) { QApplication a(argc, argv); QFileSystemModel* model = new QFileSystemModel; model->setRootPath(QDir::currentPath()); QTreeView* treeView = new QTreeView; treeView->setModel(model); treeView->setRootIndex(model->index(QDir::currentPath())); treeView->show(); treeView->setColumnHidden(1, true); treeView->setColumnHidden(2, true); treeView->setColumnHidden(3, true); return a.exec();}

作者:snail_hunan来源:CSDN原文:https://blog.csdn.net/snail_hunan/article/details/75250992

你可能感兴趣的文章
PHP $FILES error码对应错误信息
查看>>
PHP $_FILES函数详解
查看>>
PHP $_SERVER['HTTP_REFERER'] 获取前一页面的 URL 地址
查看>>
php & 和 & (主要是url 问题)
查看>>
php -- 魔术方法 之 判断属性是否存在或为空:__isset()
查看>>
php -- 魔术方法 之 获取属性:__get()
查看>>
php -树-二叉树的实现
查看>>
PHP -算法-二路归并
查看>>
php 2条不一样 的json数据 怎么放在一个json里面_如果你是PHP开发者,请务必了解一下Composer...
查看>>
php 360 不记住密码,JavaScript_多种方法实现360浏览器下禁止自动填写用户名密码,目前开发一个项目遇到一个很 - phpStudy...
查看>>
regExp的match、exec、test区别
查看>>
php 404 自定义,APACHE 自定义404错误页面设置方法
查看>>
PHP 5.3.0以上推荐使用mysqlnd驱动
查看>>
php aes sha1解密,PHP AES加密/解密
查看>>
php CI框架单个file表单多文件上传例子
查看>>
php composer
查看>>
reflow和repaint引发的性能问题
查看>>
php csv 导出
查看>>
php curl 实例+详解
查看>>
php curl_init函数用法(http://blog.sina.com.cn/s/blog_640738130100tsig.html)
查看>>