man kann z.B. QSqlRelationalModel mit Hilfe von QDataWidgetMapper dazu verwenden um Datenbankspalten an (nicht Tabellen-)Widgets anzukoppeln. Mit den meisten Feldern geht das auch, aber ...
... ich habe Felder imt einem Indexwert, der in eine andere Tabelle zeigt.
Mit QSqlRelation kann man (so wie ich das verstanden habe) ein Mapping einer Nummer zu einem String in einer zweiten Tabelle hinstellen.
Mein Code (Datenbankverbindung steht schon):
Code: Alles auswählen
QSqlRelationalTableModel model (this);
QDataWidgetMapper mapper (this);
QLineEdit *line = new QLineEdit;
model.setTable ("<Tabelle>");
model.select ();
mapper.setModel (&model);
model.setRelation (<Spaltenindex>, QSqlRelation ("<Maptabelle>", "<Mapspalte>", "<Stringspalte>"));
mapper.addMapping (line, <Spaltenindex>);
mapper.setCurrentIndex (0);