隐藏 QFileSystemModel 中的大小、类型和日期修改列

Hide Size, Type and Date modified columns in QFileSystemModel

我想删除以下内容:

我只想显示 'only' 文件名。

这是我的 QTreeView 代码:

self.model = QFileSystemModel()
self.model.setRootPath(QDir.rootPath())
self.model.setFilter(QDir.NoDotAndDotDot | QDir.AllEntries | QDir.Dirs | QDir.Files)
self.proxy_model = QSortFilterProxyModel(recursiveFilteringEnabled = True, filterRole = QFileSystemModel.FileNameRole)
self.proxy_model.setSourceModel(self.model)
self.model.setReadOnly(False)
self.model.setNameFilterDisables(False)

self.indexRoot = self.model.index(self.model.rootPath())

self.treeView = QTreeView(self)
self.treeView.setModel(self.proxy_model)
self.adjust_root_index()

self.treeView.setRootIndex(self.indexRoot)
self.treeView.clicked.connect(self.on_treeView_clicked)
self.treeView.doubleClicked.connect(self.treeMedia_doubleClicked)
self.treeView.setDragDropMode(QAbstractItemView.InternalMove)
self.treeView.setAnimated(True)
self.treeView.setIndentation(20)
self.treeView.setSortingEnabled(True)
self.treeView.setDragEnabled(True)
self.treeView.setAcceptDrops(True)
self.treeView.setDropIndicatorShown(True)
self.treeView.setEditTriggers(QTreeView.NoEditTriggers)
self.treeView.setContextMenuPolicy(Qt.CustomContextMenu)
self.treeView.customContextMenuRequested.connect(self.showContextMenu)

我尝试了 PyQt5 API 中的一些选项,例如 setHeader() 但我无法弄清楚它是如何工作的。我不确定 setHeader() 是否正是我要找的。

您可以使用 hideSection() method of the QHeaderView:

隐藏列
for i in range(1, self.treeView.model().columnCount()):
    self.treeView.header().hideSection(i)