QComboBox - Legt das ausgewählte Element basierend auf den Daten des Objekts fest
Was wäre die beste Möglichkeit, durch Auswahl eines Elements in einer QT-combo box aus einer prefined Liste von enum-basierten eindeutige Werte.
In der Vergangenheit habe ich mich gewöhnt .NET, die im Stil der Auswahl, wo das Element kann ausgewählt werden, durch setzen der selected-Eigenschaft auf das Element den Wert, den Sie auswählen möchten:
cboExample.SelectedValue = 2;
Gibt es trotzdem, dies zu tun mit QT basiert auf dem Artikel die Daten, wenn die Daten einer C++ - enumeration?
InformationsquelleAutor der Frage cweston | 2010-12-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du lookup wird der Wert der Daten mit findData und verwenden Sie dann setCurrentIndex
InformationsquelleAutor der Antwort Martin Beckett
Können Sie auch einen Blick auf die Methode findText(const QString & text) von QComboBox; es gibt den index des Elements, welches den eingegebenen text, (-1, falls nicht gefunden).
Der Vorteil dieser Methode ist, dass Sie nicht brauchen, um setzen Sie den zweiten parameter beim hinzufügen eines Elements.
Hier ist ein kleines Beispiel :
InformationsquelleAutor der Antwort Aloïké Go
Wenn Sie wissen, den text in der combo-box, die Sie auswählen möchten, benutzen Sie einfach die setCurrentText () - Methode auf, wählen Sie das Element.
Aus der Qt 5.7 Dokumentation
So lange, wie die ComboBox ist nicht editierbar, wird der text angegeben, der in dem Aufruf der Funktion werden Sie in der Auswahlliste ausgewählt.
Referenz: http://doc.qt.io/qt-5/qcombobox.html#currentText-prop
InformationsquelleAutor der Antwort Hard.Core.Coder