def data(self, index, role=QtCore.Qt.DisplayRole): if not index.isValid() or not (0 <= index.row() < self.rowCount() and 0 <= index.column() < self.columnCount()): return QtCore.QVariant() row = self._dataframe.index[index.row()] col = self._dataframe.columns[index.column()] dt = self._dataframe[col].dtype val = self._dataframe.iloc[row][col] if role == QtCore.Qt.DisplayRole: return str(val) elif role == DataFrameModel.ValueRole: return val if role == DataFrameModel.DtypeRole: return dt return QtCore.QVariant()
def headerData( self, section: int, orientation: QtCore.Qt.Orientation, role: int = QtCore.Qt.DisplayRole, ): if role == QtCore.Qt.DisplayRole: if orientation == QtCore.Qt.Horizontal: return self._dataframe.columns[section] else: return str(self._dataframe.index[section]) return QtCore.QVariant()