ComboBoxes (Qt)

Aus C++_PHP_und_mehr
Wechseln zu: Navigation, Suche

Eine ComboBox bietet die Möglichkeit, aus einer Liste von Texten einen auszuwählen. Nach Anklicken des Popup-Buttons öffnet sich eine Liste der möglichen Texte. Jedem Text ist ein Index zugeordnet entsprechend der Reihenfolge in der Liste.

ComboBox heißt sie wohl, weil man den Text in der Box ändern kann. Der editierbare Teil der ComboBox ist ein QLineEdit, ein Zeiger darauf erhält man mit QlineEdit* lineEdit(). Aber Vorsicht, falls die ComboBox nicht editierbar ist (editable() == false), ist der Zeiger 0 und eine Verwendung führt zu einem Programmabsturz. Leider ist das der Default-Zustand. Also die Rückgabe von lineEdit() auf 0 testen oder die ComboBox rechtzeitig mit setEditable(true); editierbar machen.

Füllen der Liste

Die Texte werden als QStringList mit insertItems(int index, const QStringList& list) oder als QString mit void insertItem(int index, const QIcon& icon, const QString& text, const QVariant& userData = QVariant()) an die Position index eingefügt.
Im Designer öffnet sich bei Doppelklick auf eine ComboBox ein Dialog zum Füllen der Liste.