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

你可能感兴趣的文章
Paystack Android SDK 集成与使用指南
查看>>
Penetration Testing、Security Testing、Automation Testing
查看>>
php -- 魔术方法 之 判断属性是否存在或为空:__isset()
查看>>
php csv 导出
查看>>
php include和require
查看>>
php mysql优化方法_MySQL优化常用方法
查看>>
PHP OAuth 2.0 Server
查看>>
php openssl aes ecb,php openssl_encrypt AES-128-ECB iOS
查看>>
php paypal rest api,PayPal REST API指定网络配置文件PHP
查看>>
PHP pcntl_fork不能在web服务器中使用的变通方法
查看>>
php private ,public protected三者的区别
查看>>
php PSR规范
查看>>
php redis(2)
查看>>
PHP Redis分布式锁
查看>>
PHP SOAP模块的使用方法:NON-WSDL模式
查看>>
PHP SPL标准库-迭代器
查看>>
PHP Static延迟静态绑定
查看>>
php zookeeper实现分布式锁
查看>>
PHP 使用 $_SERVER['PHP_SELF'] 获取当前页面地址及其安全性问题
查看>>
php 反射
查看>>