Wie verwenden Modell für QComboBox
-
01-10-2019 - |
Frage
Ich möchte QCombobox
als die Combobox
von Swing
in Java
verwenden. Also muss ich Model
verwenden, um mein Ziel zu halten. Wie kann ich halte mein Objekt in QComboBox. (Ich glaube, dass ich Daten in Modell zu halten, weil QCombobox
entworfen wurde nach MVC-Muster ...)
Jede Hilfe wird sehr geschätzt.
Lösung
Je nachdem, was Sie wollen mit Ihrem QComboBox
angezeigt wird, müssen Sie Ihr eigenes Modell schreiben, QAbstractListModel
vererben, rowCount()
and data()
Neuimplementierung.
Dann Verwendung QComboBox::setModel()
die QComboBox
Anzeige zu machen.
Wenn Sie nur zu Anzeigezeichenfolgen möchten, können Sie ein verwenden QStringListModel
, versehen mit Qt.
Andere Tipps
Sie können ein Modell zu Ihrem QCombobox
hinzufügen, indem Sie mit setModel
Funktion . Sie können eine vordefinierte Modell verwenden oder eigene erstellen, indem Sie erben von QAbstractItemModel
.
Ihr Modell enthält Ihr Objekt separate Anzeige von Daten.
Qt verwendet eine vereinfachte Version von MVC, die nur die Model / View-Teile.
Sie können einen der mitgelieferten Subklassen verwenden QAbstractItemModel wenn Sie don ‚t muß jedes spezielles Verhalten, die man zu verwenden hängt davon ab, ob Sie Ihre Daten in einem Dateisystem zu halten oder eine Datenstruktur im Speicher.
Sie sollten den ganzen Abschnitt Model / View-Programmierung lesen Sie in der Qt-Dokumentation.