Seite 1 von 1

[gelöst]QCombobox setCurrentIndex-> Eintrag per Name auswähl

Verfasst: 19. Juni 2012 22:20
von Bang-Johansen
Hallo,

ich hätte mal eine kurze Frage.

Wenn ich in einer QComboBox z.b die folgende Liste habe:

Eins
Zwei
Drei
Vier
Fünf

kann ich ja mit setCurrentIndex (2) auswählen, daß der Eintrag "Drei" markiert ist.
Kann ich auch irgendwie direkt den Eintrag mit dem Schlüsselwort "Drei" auswählen ?
meine das z.B so (ist natürlich falsch" setCurretIndex ("Drei") ?

Ansonsten müßte ich halt mit ein paar if Anweisungen den entsprechenden Index herausbekommen und dann setzen.
Eine direkte Version wäre mir lieber.

Danke

Bang-Johansen

Re: QCombobox setCurrentIndex-> Eintrag per Name auswählen ?

Verfasst: 20. Juni 2012 00:15
von Herzogswalder

Re: [gelöst]QCombobox setCurrentIndex-> Eintrag per Name aus

Verfasst: 20. Juni 2012 20:12
von Bang-Johansen
Hallo,

Danke.
Die Möglichkeit habe ich einfach übersehen.
Ich habe es jetzt so gelöst:

Code: Alles auswählen

// den int Wert in einen QString umwandeln
const QString BaudRateString= QString::number(NewBaudRate);
// Jetzt mit dem im QString stehenden Eintrag den Eintrag auswählen
BoxBaudRate->setCurrentIndex(BoxBaudRate->findText(BaudRateString));


Bang-Johansen

Re: [gelöst]QCombobox setCurrentIndex-> Eintrag per Name aus

Verfasst: 21. Juni 2012 06:29
von Christian81
Und was, wenn es zwei Einträge mit dem gleichen Text gibt oder der Text übersetzt wird? Suche nach Text finde ist nicht wirklich gut.
--> QComboBox::addItem ( const QString & text, const QVariant & userData = QVariant() ) und QComboBox::findData ( const QVariant & data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags> ( Qt::MatchExactly | Qt::MatchCaseSensitive ) ) const