可以通过使用QAbstractItemModel类来设置Qt的QTreeView头部为父节点名称。以下是一个示例:
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class TreeModel(QAbstractItemModel):
def __init__(self, data, parent=None):
super().__init__(parent)
self.rootItem = TreeItem(("Name",))
self.setupModelData(data.split('\n'), self.rootItem)
def columnCount(self, parent):
if parent.isValid():
return parent.internalPointer().columnCount()
else:
return self.rootItem.columnCount()
def data(self, index, role=Qt.DisplayRole):
if not index.isValid():
return None
if role != Qt.DisplayRole and role != Qt.EditRole:
return None
item = index.internalPointer()
return item.data(index.column())
def flags(self, index):
if not index.isValid():
return Qt.NoItemFlags