QTableView mit QStandardItemModel
-
wrote on 16 Sept 2024, 09:59 last edited by Feuervogel
Hallo zusammen,
in Sachen C++ und Qt bin ich absoluter Neuling (und das mit über 60 Jahren auf dem Buckel). Ich komme ursprünglich aus der Windowswelt (Visual Basic, C# etc.) und bin jetzt (nach dem Eintritt in den Ruhestand) auf Linux, C++ und Qt geschwenkt. Die GUI-Programmierung ist nun eine vollkommen andere :-) Und nicht nur das, aber man hat ja jetzt Zeit :-)
So, kurz zu meinem aktuellen Problem, welches mich zur Verzweiflung treibt.
MainWindow mit einem QTableView, welches über ein QStandardItemModel mit Daten aus einer Datenbank gespeist wird. Ein Feld ist ein Boolean, in der View als CheckBox (mit entsprechendem Delegate) dargestellt. Laden der Daten und Bearbeiten funktionieren.
So, nun zu meinem Problem: Wie erkenne ich, dass Daten geändert wurden? Am besten beim Verlassen der Zeile, damit ich in der Datenbank speichern kann. Eigentlich ganz trivial, aber ich komme nicht drauf (Eumel)! -
Hallo zusammen,
in Sachen C++ und Qt bin ich absoluter Neuling (und das mit über 60 Jahren auf dem Buckel). Ich komme ursprünglich aus der Windowswelt (Visual Basic, C# etc.) und bin jetzt (nach dem Eintritt in den Ruhestand) auf Linux, C++ und Qt geschwenkt. Die GUI-Programmierung ist nun eine vollkommen andere :-) Und nicht nur das, aber man hat ja jetzt Zeit :-)
So, kurz zu meinem aktuellen Problem, welches mich zur Verzweiflung treibt.
MainWindow mit einem QTableView, welches über ein QStandardItemModel mit Daten aus einer Datenbank gespeist wird. Ein Feld ist ein Boolean, in der View als CheckBox (mit entsprechendem Delegate) dargestellt. Laden der Daten und Bearbeiten funktionieren.
So, nun zu meinem Problem: Wie erkenne ich, dass Daten geändert wurden? Am besten beim Verlassen der Zeile, damit ich in der Datenbank speichern kann. Eigentlich ganz trivial, aber ich komme nicht drauf (Eumel)!wrote on 16 Sept 2024, 11:17 last edited by@Feuervogel said in QTableView mit QStandardItemModel:
Wie erkenne ich, dass Daten geändert wurden? Am besten beim Verlassen der Zeile, damit ich in der Datenbank speichern kann.
Wenn es dein eigenes Model mit benutzerdefiniertem Verhalten usw. ist, kannst/musst du selbst das/die Signal(e) auslösen, dass sich die Daten geändert haben und du alles andere updaten willst.
Also wenn du Daten selbst mit
setData
(aus der Datenbank) setzt oder änderst, musst du danach dasdataChanged()
Signal triggern. Mit dem Bereich der Daten, die sich geändert haben, falls du nicht alles updaten willst. -
@Feuervogel said in QTableView mit QStandardItemModel:
Wie erkenne ich, dass Daten geändert wurden? Am besten beim Verlassen der Zeile, damit ich in der Datenbank speichern kann.
Wenn es dein eigenes Model mit benutzerdefiniertem Verhalten usw. ist, kannst/musst du selbst das/die Signal(e) auslösen, dass sich die Daten geändert haben und du alles andere updaten willst.
Also wenn du Daten selbst mit
setData
(aus der Datenbank) setzt oder änderst, musst du danach dasdataChanged()
Signal triggern. Mit dem Bereich der Daten, die sich geändert haben, falls du nicht alles updaten willst.wrote on 16 Sept 2024, 12:22 last edited by@Pl45m4
Hallo,vielen Dank für Deine Antwort. Ganz habe ich es noch nicht verstanden, aber ich meine nun zu wissen, wo ich weiterlesen kann!
Vielen Dank!
-
@Pl45m4
Hallo,vielen Dank für Deine Antwort. Ganz habe ich es noch nicht verstanden, aber ich meine nun zu wissen, wo ich weiterlesen kann!
Vielen Dank!
wrote on 16 Sept 2024, 12:51 last edited by@Feuervogel said in QTableView mit QStandardItemModel:
ich meine nun zu wissen, wo ich weiterlesen kann!
z.B:
-
@Feuervogel said in QTableView mit QStandardItemModel:
ich meine nun zu wissen, wo ich weiterlesen kann!
z.B:
wrote on 16 Sept 2024, 13:28 last edited by@Pl45m4
Hallo und vielen Dank!!!!
1/5