0

Tableview は QSqlRelationalTableModel を使用します。垂直ヘッダーの列からデータを挿入するにはどうすればよいですか?

4

1 に答える 1

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。必要に応じて、 withで列を非表示にすることができIDます (複製されるため) :QTableViewsetColumnHidden

myTableView.setColumnHidden(0, True) # again assuming ID is the first column
于 2012-11-19T21:53:47.550 に答える