Python qtableview'中的数据;s垂直标题?

Python qtableview'中的数据;s垂直标题?,python,pyqt,qtableview,Python,Pyqt,Qtableview,Tableview使用QSqlRelationalTableModel。如何在垂直标题中插入列中的数据?最简单的方法是子类化QSqlRelationalTableModel并覆盖headerData方法(该方法负责显示标题的数据: class MyModel(QtSql.QSqlRelationalTableModel): def headerData(self, section, orientation, role=QtCore.Qt.DisplayRole): if

Tableview使用QSqlRelationalTableModel。如何在垂直标题中插入列中的数据?

最简单的方法是子类化
QSqlRelationalTableModel
并覆盖
headerData
方法(该方法负责显示标题的数据:

class MyModel(QtSql.QSqlRelationalTableModel):
    def headerData(self, section, orientation, role=QtCore.Qt.DisplayRole):
        if orientation == QtCore.Qt.Vertical:
            index = self.index(section, 0) # assuming ID is the first column
            return self.data(index, role)
        else:
            # return original headers for horizontal orientation
            return super(MyModel, self).headerData(section, orientation, role)
然后使用它而不是
QSqlRelationalTableModel
。如果需要,可以使用
setcolumnshidden
QTableView
中隐藏
ID
列(因为它将被复制):

myTableView.setColumnHidden(0, True) # again assuming ID is the first column

您希望在垂直标题中显示什么?我有一个包含3列的表(mysql)。我希望在qtableview的垂直标题中显示一列的数据(mysql表的ID列)