QSqlRelationalTableModel gestalten oder Tabelle selber bauen
-
Hallo zusammen,
ich bin Anfänger in C++ und Qt, habe aber schon viel in PHP , MySQL, HTML und CSS gemacht.
Das QSqlRelationalTableModel habe ich jetzt erfolgreich umsetzen können. Die StyleSheets im Grafik-Editor der .ui habe ich auch entdeckt. Aber dort sind die Möglichkeiten doch recht eingeschränkt.
Nun meine Frage:
Wir kann ich die bei QsqlRelationalTableModel entstehende Tabelle gestalten? Ich hätte gerne abwechselnd eingefärbte Zeilen.Und gleich noch eine Frage:
Kann ich in diese Tabelle irgendwie Buttons einbauen? Ich würde gerne aus der Tabelle heraus mit den Werten, die dort angezeigt werden, rechnen, bzw. diese Werte zur weiteren Verarbeitung kopieren können.Hier noch eine 3. Frage:
Kann ich in C++ bzw. XML eine Tabelle selber "bauen"?
Über SQLite komme ich mit meiner Mini-Datenbank gut zurecht.
Bisher habe ich das mit .php-Dateien und For-Schleifen gelöst. Die For-Schleife ist mir also vertraut, aber wie kann ich eine eigene Tabelle erstellen? (Und am liebsten noch in CSS gestalten...)Danke schon mal.
Grüße Claudia
-
Deine Fragen haben nichts mit dem verwendeten Model sondern mit den Steuerelementen zu tun. Ich nehme mal an, du benutzt
QTableView
bzw.QTableWidget
.
Dort gibt es alternatingRowColors.Und bzgl. der Buttons schau mal in dieses englische Thema: Adding button to QTableview
Aber was meinst du genau mit
Kann ich in C++ bzw. XML eine Tabelle selber "bauen"?
-
Hallo Th69,
vielen Dank für die schnelle Antwort. Die alternatingRowColors habe ich jetzt gefunden. Gibt es da noch andere Farben? Nur grau und weiß - das ist ein bisschen sparsam.
Das Ding mit den Buttons werde ich mir mal ansehen.
Zum Thema Tabelle, hier ein Beispiel aus PHP/HTML:
//Anfang Tabelle aktueller Monat echo"<table>"; echo"<tr>"; //-------------------- $max = $anz_tag +1; for ($i=1; $i<$max; $i++){ if($i==$tag_heute){ echo "<td class='tag'><b>".$i."</b></td>"; }else {echo "<td class='tag'>".$i."</td>";} } //-------------------- echo"</tr>"; ..... echo"</table>";
Aber ich fürchte, das geht weder in C++ noch in XML - ich habe auch SFML gefunden. Aber wie bekomme ich das in Qt rein? Geht das überhaupt?
Viele Grüße
Claudia
-
einen QTableView/QTableWidget kann man auch mit eigenen css ähnlicher syntax stylen:
https://doc.qt.io/qt-5/stylesheet-reference.html (Punkt QTableView)
-
Dies kann dann z.B. so aussehen:
myTable->setAlternatingRowColors(true); myTable->setStyleSheet("alternate-background-color: yellow; background-color: red;");
-
Ah, super, Danke
Das hilft mir auf jeden Fallen schon mal weiter.