Source code for cgl.ui.widgets.containers.pandas_model

import pandas as pd
from PySide6.QtCore import QAbstractTableModel, Qt


[docs] class PandasModel(QAbstractTableModel): def __init__(self, df=pd.DataFrame(), parent=None): QAbstractTableModel.__init__(self, parent=parent) self._df = df.copy()
[docs] def headerData(self, rowcol, orientation, role): if orientation == Qt.Horizontal and role == Qt.DisplayRole: return self._df.columns[rowcol] if orientation == Qt.Vertical and role == Qt.DisplayRole: return self._df.index[rowcol] return None
[docs] def data(self, index, role=Qt.DisplayRole): if index.isValid(): if role == Qt.DisplayRole: return str(self._df.values[index.row()][index.column()]) return None
[docs] def rowCount(self, parent=None): return len(self._df.index)
[docs] def columnCount(self, parent=None): return len(self._df.columns)