qsql tableview / qlsqlmodel mit checkboxen erweitern
Verfasst: Dienstag 12. Januar 2010, 15:11
hallo,
vielleicht kann mir hier jemand weiterhelfen:
Ich habe einen qtableview, ein qsqldatamodel welche mit einer sqldatenbank (sqlite) verbunden sind. Die spalten werden eins zu eins abgebildet (total 5).
...
Ich kann damit Zeilen loeschen und hinzufuegen.
Frage:
Wie kann ich in den tableView als letzte spalte nun eine Spalte mit Checkboxen einfuegen, damit sich hier einzelne Zeilen auswahleen lassen fuer weitere Operationen?
Einfach ein self.model.insertColumns(5,1) bringt nix.
Eine Idee, welche nicht funktionierte war:
Ein neues myQsqlTableModel(QSqlTableModel) erstellen/ableiten, dann in diesem Modell im __init__ ein self.insertColumns(5,1) fuer die neue Spalte durchfuehren, eine neue Methode data() schreiben
(aehnlich wie in http://www.mail-archive.com/pyqt@riverb ... 12970.html)
Oder woher weiss der view dass es eine neue spalte gibt, und wie sag ich dem Modell dass diese Spalte nichts mit der Datenbank dahinter zu tun hat? Oder wer weiss wo sowas steht?
Danke im Voraus fuer jeden Tip!
dirk
vielleicht kann mir hier jemand weiterhelfen:
Ich habe einen qtableview, ein qsqldatamodel welche mit einer sqldatenbank (sqlite) verbunden sind. Die spalten werden eins zu eins abgebildet (total 5).
...
Code: Alles auswählen
self.db = get_database()
self.model = QSqlTableModel(self, self.db)
self.model.setTable("datatable")
self.model.select()
self.tableView.setModel(self.model)
Frage:
Wie kann ich in den tableView als letzte spalte nun eine Spalte mit Checkboxen einfuegen, damit sich hier einzelne Zeilen auswahleen lassen fuer weitere Operationen?
Einfach ein self.model.insertColumns(5,1) bringt nix.
Eine Idee, welche nicht funktionierte war:
Ein neues myQsqlTableModel(QSqlTableModel) erstellen/ableiten, dann in diesem Modell im __init__ ein self.insertColumns(5,1) fuer die neue Spalte durchfuehren, eine neue Methode data() schreiben
(aehnlich wie in http://www.mail-archive.com/pyqt@riverb ... 12970.html)
Oder woher weiss der view dass es eine neue spalte gibt, und wie sag ich dem Modell dass diese Spalte nichts mit der Datenbank dahinter zu tun hat? Oder wer weiss wo sowas steht?
Danke im Voraus fuer jeden Tip!
dirk