2012-04-03 7 views
1

Ich zeige die Daten einer Tabelle (Tabelle1) in einer QTableView. Wenn der Benutzer eine Zeile auswählt, möchte ich die Daten von dieser markierten Zeile lesen. Wie kann ich es leicht machen?lesen QTableview ausgewählte Zeile QSQLITE-Datenbank

Zum Beispiel liest dies die ganzen Daten?

query.exec("SELECT * table1); 

Antwort

1

Ich nehme an, Sie verwenden eine QSqlTableModel mit Ihrer Sicht. In diesem Fall Sie currentIndex, um das Modell Index des aktuellen Elements zu erhalten und verwenden Sie dann die record Funktion des QSqlTableModel, um den Datensatz zu erhalten entsprechend dem Index der Zeile zu verwenden:

QModelIndex curIndex = tableView->currentIndex(); 
QSqlRecord record = model->record(curIndex.row()); 

Dann können Sie verwenden die field Funktion von QSqlRecord, um die Werte in den gewünschten Spalten zu erhalten.

+0

ja das war es. Vielen Dank –