ich habe eine tabelle mit einer Spalte in der die Booleanwerte als Checkbox dargestellt werden. Dazu habe ich parallel quasi die gleiche Checkbox als GUI-Element. Nun soll es so sein, wenn ich die GUI-Checkbox verändere, dass es sich auch in der ausgewählten zeile und der entsprechenden Spalte die Checkbox verändert.
Leider ist es bisher so, wenn ich die Zeile anwähle auch die zufällig ausgewähle Spalte mit auswähle und wenn ich dann die Checkbox aus der GUI anwähle sich der Wert für die zufällig falsch ausgewälte Spalte auf TRUE oder False ändert. Nun wollte ich es so machen, dass ich die Zeile als Indx übergebe und dann in der Funktion im Tabellenmodell die Spalte dann festlege. Wenn ich das mache, reagiert die Tabelle leider garnicht.
Code: Alles auswählen
def set_checkbox_clicked(self):
index = self.dataTBL.selectedIndexes()[0]
value = None
model = self.dataTBL.model()
if self.reBezChbx.isChecked():
value = True
else:
value = False
model.setDataCheckdata(index, value, QtCore.Qt.EditRole)
Code: Alles auswählen
def setDataCheckdata(self, index, value, role=QtCore.Qt.EditRole):
if role == QtCore.Qt.EditRole:
row = index.row() #vom User ausgewählte Zeile
column = 2 #Soll nur in der dritten Spalte der Tabelle ausgeführt werden
data = value
self._data[row][column] = data
self.dataChanged.emit(index, index)
return True
VG niesel