通过修改表头,只显示一列
m_model = new QFileSystemModel();
m_model->setRootPath(QDir::currentPath());
ui->treeView->setModel(m_model);
ui->listView->setModel(m_model);
ui->tableView->setModel(m_model);
ui->treeView->setRootIndex(m_model->index(QDir::currentPath()));
QStringList list;
list.append("名称");
// list.append("大小");
// list.append("类型");
// list.append("修改日期");
QStandardItemModel *itemModel =new QStandardItemModel();
itemModel->setHorizontalHeaderLabels(list);
ui->treeView->header()->setModel(itemModel);
转自:https://blog.youkuaiyun.com/snail_hunan/article/details/75250992
Qt 提供的 QFileSystemModel可以提供文件目录树预览功能,但是预览的都自带了Name,size,type, modified等信息。我现在只想显示name这一列,不想显示size,type,modified的信息。
解决办法
办法1:修改QFileSystemModel
写一个子类,继承自QFileSystemModel,然后在需要显示size,type,modified的地方,把这些信息屏蔽掉。我知道Qt的Model显示数据,主要是在data这个函数中,然后Model的列是通过columnCount这个函数返回的。所以我重写columnCount函数,只返回一列,这一列就是我们想要的名称。
#include <QtGui/QApplication>
#include <QFileSystemModel>
#include <QTreeView>
class MyFileSytemModel : public QFileSystemModel
{
public:
//第1列显示名称,其他几列都屏蔽掉
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 <QtGui/QApplication>
#include <QFileSystemModel>
#include <QTreeView>
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
来源:优快云
原文:https://blog.youkuaiyun.com/snail_hunan/article/details/75250992
版权声明:本文为博主原创文章,转载请附上博文链接!