Hi,
habe ein QMainwindow, auf dem einige QComboBox 'en sind. Diese werden direkt beim Starten des Programmes zusammen mit dem Layout erstellt. Nun will ich, diese mit Daten (QStrings) aus einer SQL Datenbank füllen. Mein Problem ist, das diese nur einmal, beim Übersetzen, befüllt werden, und wenn sich nun die Daten in der Datenbank ändern, aber trotzdem gleich bleiben.
Die Möglichkeit z.B. einen Button "Werte einlesen" möchte ich eigentlich umgehn, sondern diese jedesmal beim Programmstart automatisch einlesen.
Steh grad ein wenig auf dem Schlauch, habe auch noch nie mit Datenbanken gearbeitet.
Hier gibts doch bestimmt irgendeinen Standart wie soetwas umgesetzt wird?
mfg
[gelöst] QCombobox zur Laufzeit füllen
[gelöst] QCombobox zur Laufzeit füllen
Zuletzt geändert von toba am 8. November 2011 10:42, insgesamt 1-mal geändert.
Re: QCombobox zur Laufzeit füllen
Naja, wenn du zur Laufzeit die Daten aus der Datenbank holst, wirst du diese bestimmt auch irgendwie in QStrings umwandeln können und kannst dann mit
deine comboBox befüllen.
Das ganze packst du dann in den den Konstruktor und schon wird deinen comboBox beim Programmstart befüllt.
Wenn deine Frage auf das Auslesen der Datenbank abzielt, schau dir mal die Klassen an:
http://doc.qt.nokia.com/latest/qsqldatabase.html
http://doc.qt.nokia.com/latest/qsqlquery.html
Code: Alles auswählen
QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() )
Das ganze packst du dann in den den Konstruktor und schon wird deinen comboBox beim Programmstart befüllt.
Wenn deine Frage auf das Auslesen der Datenbank abzielt, schau dir mal die Klassen an:
http://doc.qt.nokia.com/latest/qsqldatabase.html
http://doc.qt.nokia.com/latest/qsqlquery.html
Re: QCombobox zur Laufzeit füllen
Das wäre auch noch eine Möglichkeit:
void QComboBox::setModel ( QAbstractItemModel * model )
QSqlQueryModel
void QComboBox::setModel ( QAbstractItemModel * model )
QSqlQueryModel
Re: QCombobox zur Laufzeit füllen
Ok, muss wohl irgendein Fehler im sqldriver gewesen sein? Hab die neuste SDK Version mit QT 4.7.4 heruntergeladen, und nu gehts zur Laufzeit ohne irgendwelchen extra Code...
Oder ich hab irgendwo anderst nen Bock geschossen..
Trotzdem danke
Oder ich hab irgendwo anderst nen Bock geschossen..
Trotzdem danke