如何从数据类实例列表中填充QtableView

@dataclass
class Nc:
   x : int
listNc=[Nc(1),Nc(2)]

如何创建一个将Nc列表转换为Qtableview的类?

class NcTableModel(QtCore.QAbstractTableModel):
    """
    Class to populate Nc table view from a list of Nc instance
    """
...
view = QtWidgets.QTableView()
model=NcTableModel(listNc)
view.setModel(model)
view.update()
elai30 回答:如何从数据类实例列表中填充QtableView

class Nc:
cst: str
pNbr : str
desc : str


class NcTableModel(QtCore.QAbstractTableModel):

 def __init__(self,data,parent=None):
    QtCore.QAbstractTableModel.__init__(self,parent)
    self._data = data

 def rowCount(self,parent):
    return len(self._data)

 def columnCount(self,parent):
    return len(Nc.__dataclass_fields__.keys())

 def data(self,index,role=QtCore.Qt.DisplayRole):
    if not index.isValid():
        return QVariant()
    elif role == QtCore.Qt.EditRole:
        print( "edit mode" )
        return None
    elif role != QtCore.Qt.DisplayRole:
        return None
    return astuple(self._data[index.row()])[index.column()]
本文链接:https://www.f2er.com/3163330.html

大家都在问