[gelöst] Darstellung von Daten aus einer SQL-Datenbank
Verfasst: 17. Mai 2009 19:44
Hallo zusammen!
Ich habe gerade ein Programm geschrieben, dass Daten (MultipleChoice-Fragen) aus einer SQL-Datenbank ausließt und diese in QTextEdit schreibt.
Jetzt möchte ich die allerdings ansprechender darstellen. Und zwar in etwa so wie in dem angehängten Bild.
In der Vergangenheit habe ich viel mit HTML/PHP5/MySQL gemacht. Dort habe ich ein HTML-Template verwendet, in das PHP5 die Daten aus der MySQL-Datenbank gesetzt hat. Dieses geschah in einer Schleife, wo dies repetitiv stattfand.
=====================
Eine erste Idee von mir wäre daher:
1)
Als Template eine Klasse die von QWidget abgeleitet erstellen, die die Daten aus der Datenbank darstellt
2)
Diese Klasse wird in der folgenden Schleife für jede Frage instanziert
3)
Die Klasse kümmert sich dann um die Darstellung
=====================
Könnte das so in etwa funktionieren? Wenn ja, dann müsste ich aber wohl ein Array (in C++ heißt das glaube ich Feld) für myWidget benutzen und das mit der Übergabe der Daten aus der Datenbank funktioniert so wohl auch nicht.
Oder wie macht ihr sowas?
Ich würde mich sehr über eure Hilfe und Tipps freuen!
Beste Grüße,
der Luftballon
Ich habe gerade ein Programm geschrieben, dass Daten (MultipleChoice-Fragen) aus einer SQL-Datenbank ausließt und diese in QTextEdit schreibt.
Jetzt möchte ich die allerdings ansprechender darstellen. Und zwar in etwa so wie in dem angehängten Bild.
In der Vergangenheit habe ich viel mit HTML/PHP5/MySQL gemacht. Dort habe ich ein HTML-Template verwendet, in das PHP5 die Daten aus der MySQL-Datenbank gesetzt hat. Dieses geschah in einer Schleife, wo dies repetitiv stattfand.
=====================
Eine erste Idee von mir wäre daher:
1)
Als Template eine Klasse die von QWidget abgeleitet erstellen, die die Daten aus der Datenbank darstellt
2)
Diese Klasse wird in der folgenden Schleife für jede Frage instanziert
Code: Alles auswählen
QSqlQuery query;
query.exec("SELECT * FROM question");
QSqlRecord record = query.record();
while( query.next() ) {
myWidget = new MyWidget(query.value());
vBoxLayout->addWidget(myWidget);
}Die Klasse kümmert sich dann um die Darstellung
=====================
Könnte das so in etwa funktionieren? Wenn ja, dann müsste ich aber wohl ein Array (in C++ heißt das glaube ich Feld) für myWidget benutzen und das mit der Übergabe der Daten aus der Datenbank funktioniert so wohl auch nicht.
Oder wie macht ihr sowas?
Ich würde mich sehr über eure Hilfe und Tipps freuen!
Beste Grüße,
der Luftballon