博客
关于我
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

你可能感兴趣的文章
python valueerror object2_python遇到错误记录
查看>>
python vars的作用
查看>>
Python virtualenv
查看>>
python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
查看>>
Python WebDriver如何打印整个页面源(html)
查看>>
Python WebSocket自动化测试:构建高效接口测试框架
查看>>
Python Web开发
查看>>
Redis 配置文件杂项。
查看>>
Python web自动化测试 —— 文件上传
查看>>
Python web自动化测试 —— 文件上传!
查看>>
Python Web自动化测试开发环境搭建(附安装包与虚拟机环境)
查看>>
python win32api键盘_Python win32api.keybd_event模拟键盘输入
查看>>
python Windows显示当前鼠标坐标
查看>>
python Workbook 表格宽度
查看>>
python | ggplot,一个超强的 Python 库!
查看>>
python | unoconv,一个超厉害的 Python 库!
查看>>
python | webassets,一个超强的 Python 库!
查看>>
python | werkzeug,一个不可思议的 Python 库!
查看>>
python | xlsxwriter,一个实用的 Python 库!
查看>>
python | xlwings,一个非常实用的 Excel 相关的 Python 库!
查看>>