Учитывая список строк, я пытаюсь заполнить элементы в виде дерева.Вот мой код:
class MyModel(QtGui.QStandardItemModel):
def __init__(self, parent=None):
super(MyModel, self).__init__(parent)
self.get_contents()
def get_contents(self):
self.clear()
contents = [
'|Base|character|Mike|body',
'|Base|character|John',
'|Base|camera'
]
for content in contents:
count = content.count('|')
for index in range(count):
index = index + 2
split_path = content.split('|')[0:index]
self.add_item(split_path)
def add_item(self,name):
item1 = QtGui.QStandardItem(name)
self.appendRow([item1])
Однако иерархия, которую я получил в своем древовидном представлении, не является разборной (с небольшими значками со стрелками сбоку), и каждая строка добавляется со значениями и редактируется (если дважды щелкнуть), в котором я не хочу.
Пример вывода из моего кода:
|Base
|Base|character
|Base|character|Mike
|Base|character|Mike|body
|Base
|Base|character
|Base|character|John
|Base
|Base|camera
, где есть несколько повторяющихся строк ...
И это то, что я ожидаю:
|-- Base
|--|-- character
|--|--|-- Mike
|--|--|--|-- body
|--|-- character
|--|--|-- John
|--|-- camera
Есть идеи?