2016-10-22 7 views
0

Ich verwende QSqlRelationalTableModel, um Daten aus der Datenbank zu extrahieren, und tableView zu verwenden, um es anzuzeigen. Jetzt, wenn ich meine Datenbank aktualisiere, wie man tableView automatisch aktualisiert, um es zu zeigen? Ich weiß, dass ich Funktion dataChanged() verwenden muss, um dies automatisch zu machen, aber ich weiß nicht, wie man es benutzt? Jeder Vorschlag wird geschätzt.Wie aktualisiere ich QTableView, wenn die Datenbank aktualisiert wird?

Der Hauptcode ist wie folgt:

QSqlRelationalTableModel *model = new QSqlRelationalTableModel(NULL, db); 
model->setTable(tableName); 
model->select(); 
tableView->setModel(model); 
tableView->show(); 

Antwort

1

Nein, es gibt keine Notwendigkeit, dataChanged() zu verwenden.

Sie müssen nur QSqlRelationalTableModel::select() aufrufen, wenn die Datenbank aktualisiert wird. Dadurch wird das Modell erneut aus der Datenbank geladen und die Ansichten, die es automatisch verwenden, werden aktualisiert.

+0

cool, danke Mike. Das hat mir sehr geholfen. Ich habe eine andere Frage – FzLbMj

Verwandte Themen