[Qt4] Geeignete View mit bestimmten "Look&Feel"
Verfasst: 11. Februar 2006 20:11
Hi,
Ich beschäftige mich erst seit einigen Wochen mit Qt und als Einstieg wollte ich jetzt mal das unter Windows bekannte Programm "Mp3tag" mit Qt nachprogrammieren. (Um es auch unter Linux einsetzen zu können.)
Probleme bereitet mir allerdings das zentrale Widget für das Programm. Das ganze ist im Original Programm nämlich eine Listen Anzeige, die so aussieht:

Das Item/View Konzept von Qt 4 scheint ja zwar sehr flexibel zu sein, dafür allerdings auch umfangreich und etwas komplex. Von den 3 Standard Views schien mir in diesem Fall "QTableView" für die Aufgabe die geeignetste zu sein.
Mit "QTableWidget" habe ich jetzt zumindest mal ein paar Tests mit der ListView machen können. Aber irgendwie hat diese nicht so recht das "look&feel" wie die View im Originalprogramm:
z.B.
--> Zeilenüberschriften werden nicht benötigt
--> Zeilenhöhe (und -überschriften) standardmäßig zu groß bzw. vom Benutzer veränderbar
Außerdem möchte ich aus dem Originalprogramm folgendes Verhalten übernehmen:
--> Wenn ich auf eine Zelle doppelklicke, um den Text zu ändern, soll der gesamte Text markiert werden.
--> Wenn ich im Edit-Modus bin und Enter drücke, soll der Cursor eine Zeile weiter gehen und in dieser Zelle den Edit-Modus aktivieren.
Allgemein habe ich das Gefühl, dass die TableView eher für Tabellenkalkulation gedacht ist und deshalb für meine Zwecke etwas "überdimensioniert" ist.
Mit welchem Widget, komme ich möglichst nahe an das Look&Feel der originalen Anzeige? (Wer Mp3tag nicht kennt: Die Anzeige ist so ähnlich wie z.B. die Detail Anzeige im Windows-Dateiexplorer.) Kann eine ListView evtl. auch mehrere Spalten anzeigen? Oder z.B. die Zellen in einer TreeView editierbar machen? Die "Baumstruktur" kann man ja, wie ich gelesen habe ausblenden!?
Oder muss ich mir da eine komplett eigene View Programmieren? Als Qt Anfänger vieleicht nicht gerade trivial!?
TIA
CryptKeeper
Ich beschäftige mich erst seit einigen Wochen mit Qt und als Einstieg wollte ich jetzt mal das unter Windows bekannte Programm "Mp3tag" mit Qt nachprogrammieren. (Um es auch unter Linux einsetzen zu können.)
Probleme bereitet mir allerdings das zentrale Widget für das Programm. Das ganze ist im Original Programm nämlich eine Listen Anzeige, die so aussieht:

Das Item/View Konzept von Qt 4 scheint ja zwar sehr flexibel zu sein, dafür allerdings auch umfangreich und etwas komplex. Von den 3 Standard Views schien mir in diesem Fall "QTableView" für die Aufgabe die geeignetste zu sein.
Mit "QTableWidget" habe ich jetzt zumindest mal ein paar Tests mit der ListView machen können. Aber irgendwie hat diese nicht so recht das "look&feel" wie die View im Originalprogramm:
z.B.
--> Zeilenüberschriften werden nicht benötigt
--> Zeilenhöhe (und -überschriften) standardmäßig zu groß bzw. vom Benutzer veränderbar
Außerdem möchte ich aus dem Originalprogramm folgendes Verhalten übernehmen:
--> Wenn ich auf eine Zelle doppelklicke, um den Text zu ändern, soll der gesamte Text markiert werden.
--> Wenn ich im Edit-Modus bin und Enter drücke, soll der Cursor eine Zeile weiter gehen und in dieser Zelle den Edit-Modus aktivieren.
Allgemein habe ich das Gefühl, dass die TableView eher für Tabellenkalkulation gedacht ist und deshalb für meine Zwecke etwas "überdimensioniert" ist.
Mit welchem Widget, komme ich möglichst nahe an das Look&Feel der originalen Anzeige? (Wer Mp3tag nicht kennt: Die Anzeige ist so ähnlich wie z.B. die Detail Anzeige im Windows-Dateiexplorer.) Kann eine ListView evtl. auch mehrere Spalten anzeigen? Oder z.B. die Zellen in einer TreeView editierbar machen? Die "Baumstruktur" kann man ja, wie ich gelesen habe ausblenden!?
Oder muss ich mir da eine komplett eigene View Programmieren? Als Qt Anfänger vieleicht nicht gerade trivial!?
TIA
CryptKeeper