qtableview的垂直标题中的数据?

时间:2012-11-18 13:36:18

标签: python pyqt qtableview

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

1 个答案:

答案 0 :(得分:0)

最简单的方法是继承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。如果需要,您可以在ID QTableView中隐藏setColumnHidden列(因为它会重复):

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