2

I using QStandardItemModel to maintain QTreeView, and how can I modify or delete the red circle in the images below . Thanks.

from PySide2 import QtCore,QtGui
from PySide2.QtGui import QStandardItemModel
import pandas as pd

class PrjTreeModel(QStandardItemModel):

    def __init__(self, parent=None):
        super(PrjTreeModel, self).__init__(parent)
        # self.items = data
        self.itmes = pd.DataFrame([['Hello','@TFF']],columns=['UserId','ProjectId']) 
        self.refreshItems()

    def refreshItems(self):
        prjId = self.itmes['ProjectId']
        child = ['RR','BB']

        for i,row in prjId.iteritems():
            parent = QtGui.QStandardItem(row)
            child1 = QtGui.QStandardItem(child[0])
            child2 = QtGui.QStandardItem(child[1])
            parent.appendRow(child1)
            parent.appendRow(child2)
            self.appendRow(parent)
    # def headerData(self, section, orientation, role=QtCore.Qt.DisplayRole):
    #     return self.itmes['UserId'][0]

no

RAM
  • 2,257
  • 2
  • 19
  • 41
Relax ZeroC
  • 651
  • 1
  • 12
  • 27

1 Answers1

0

I found the api...

I should add this code.

treeview.header().hide()

and if I want to modify the header , I should add role rule in headerData

if (role == QtCore.Qt.DisplayRole) and (orientation == QtCore.Qt.Horizontal) and (self.items is not None):
            return self.items['UserId'][0]
        else:
            return QStandardItemModel.headerData(self, section, orientation, role)
Relax ZeroC
  • 651
  • 1
  • 12
  • 27