In my QTableView, I am trying to have first column of checkboxes but i am getting all the row columns filled with checkboxes and also all of them are checked by default. I am not able to changed the state of checkboxes either.
class MyTableModel(QtCore.QAbstractTableModel):
def __init__(self, listData=[[]], headers=[], parent=None):
super(MyTableModel, self).__init__(parent)
self.__listData = listData
self.__headers = headers
def data(self, index, role):
row = index.row()
column = index.column()
value = self.__listData[row][column]
if role == QtCore.Qt.CheckStateRole:
if self.__listData[row] == 0:
return QtCore.QVariant(QtCore.Qt.Unchecked)
else:
return QtCore.QVariant(QtCore.Qt.Checked)
if role == QtCore.Qt.EditRole:
return value
if role == QtCore.Qt.DisplayRole:
return value