Auf dieser Seite

QComboBox Class

Das QComboBox-Widget kombiniert eine Schaltfläche mit einer Dropdown-Liste. Mehr...

Überschrift: #include <QComboBox>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: QWidget
Vererbt an:

QFontComboBox

Öffentliche Typen

enum InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically }
(since 6.9) enum class LabelDrawingMode { UseStyle, UseDelegate }
enum SizeAdjustPolicy { AdjustToContents, AdjustToContentsOnFirstShow, AdjustToMinimumContentsLengthWithIcon }

Eigenschaften

Öffentliche Funktionen

QComboBox(QWidget *parent = nullptr)
virtual ~QComboBox()
void addItem(const QString &text, const QVariant &userData = QVariant())
void addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
void addItems(const QStringList &texts)
QCompleter *completer() const
int count() const
QVariant currentData(int role = Qt::UserRole) const
int currentIndex() const
QString currentText() const
bool duplicatesEnabled() const
int findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const
int findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const
bool hasFrame() const
virtual void hidePopup()
QSize iconSize() const
void insertItem(int index, const QString &text, const QVariant &userData = QVariant())
void insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
void insertItems(int index, const QStringList &list)
QComboBox::InsertPolicy insertPolicy() const
void insertSeparator(int index)
bool isEditable() const
QVariant itemData(int index, int role = Qt::UserRole) const
QAbstractItemDelegate *itemDelegate() const
QIcon itemIcon(int index) const
QString itemText(int index) const
QComboBox::LabelDrawingMode labelDrawingMode() const
QLineEdit *lineEdit() const
int maxCount() const
int maxVisibleItems() const
int minimumContentsLength() const
QAbstractItemModel *model() const
int modelColumn() const
QString placeholderText() const
void removeItem(int index)
QModelIndex rootModelIndex() const
void setCompleter(QCompleter *completer)
void setDuplicatesEnabled(bool enable)
void setEditable(bool editable)
void setFrame(bool)
void setIconSize(const QSize &size)
void setInsertPolicy(QComboBox::InsertPolicy policy)
void setItemData(int index, const QVariant &value, int role = Qt::UserRole)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setItemIcon(int index, const QIcon &icon)
void setItemText(int index, const QString &text)
void setLabelDrawingMode(QComboBox::LabelDrawingMode labelDrawing)
void setLineEdit(QLineEdit *edit)
void setMaxCount(int max)
void setMaxVisibleItems(int maxItems)
void setMinimumContentsLength(int characters)
virtual void setModel(QAbstractItemModel *model)
void setModelColumn(int visibleColumn)
void setPlaceholderText(const QString &placeholderText)
void setRootModelIndex(const QModelIndex &index)
void setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy)
void setValidator(const QValidator *validator)
void setView(QAbstractItemView *itemView)
virtual void showPopup()
QComboBox::SizeAdjustPolicy sizeAdjustPolicy() const
const QValidator *validator() const
QAbstractItemView *view() const

Neu implementierte öffentliche Funktionen

virtual bool event(QEvent *event) override
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

Öffentliche Slots

void clear()
void clearEditText()
void setCurrentIndex(int index)
void setCurrentText(const QString &text)
void setEditText(const QString &text)

Signale

void activated(int index)
void currentIndexChanged(int index)
void currentTextChanged(const QString &text)
void editTextChanged(const QString &text)
void highlighted(int index)
void textActivated(const QString &text)
void textHighlighted(const QString &text)

Geschützte Funktionen

virtual void initStyleOption(QStyleOptionComboBox *option) const

Neu implementierte geschützte Funktionen

virtual void changeEvent(QEvent *e) override
virtual void contextMenuEvent(QContextMenuEvent *e) override
virtual void focusInEvent(QFocusEvent *e) override
virtual void focusOutEvent(QFocusEvent *e) override
virtual void hideEvent(QHideEvent *e) override
virtual void inputMethodEvent(QInputMethodEvent *e) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void paintEvent(QPaintEvent *e) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void showEvent(QShowEvent *e) override
virtual void wheelEvent(QWheelEvent *e) override

Detaillierte Beschreibung

Kombinationsfeld mit ausgeblendeter Auswahlliste

Zusammengeklappte QCombobox

Kombinationsfeld mit erweiterter Optionsliste

Erweiterte QCombobox

Anzeigefunktionen

Eine QComboBox ist eine kompakte Möglichkeit, dem Benutzer eine Liste von Optionen anzuzeigen.

Eine Combobox ist ein Auswahl-Widget, das das aktuelle Element anzeigt und beim Anklicken eine Liste auswählbarer Elemente einblendet. Comboboxen können sowohl Pixmaps als auch Zeichenketten enthalten, sofern die Funktionen ` insertItem()` und ` setItemText()` entsprechend überladen sind.

Bearbeitungsfunktionen

Eine Combobox kann bearbeitbar sein, sodass der Benutzer jeden Eintrag in der Liste ändern kann. Für bearbeitbare Comboboxen steht die Funktion ` clearEditText()` zur Verfügung, um die angezeigte Zeichenkette zu löschen, ohne den Inhalt der Combobox zu ändern.

Wenn der Benutzer eine neue Zeichenfolge in eine bearbeitbare Combobox eingibt, kann das Widget diese einfügen oder auch nicht, und es kann sie an mehreren Stellen einfügen. Die Standardregel lautet „ InsertAtBottom “, Sie können dies jedoch mit „ setInsertPolicy()“ ändern.

Es ist möglich, die Eingabe in eine bearbeitbare Combobox mithilfe von „ QValidator “ einzuschränken; siehe „ setValidator()“. Standardmäßig werden alle Eingaben akzeptiert.

Eine Combobox kann beispielsweise mithilfe der Einfügefunktionen ` insertItem()` und ` insertItems()` befüllt werden. Elemente können mit ` setItemText()` geändert werden. Ein Element kann mit ` removeItem()` entfernt werden, und alle Elemente können mit ` clear()` entfernt werden. Der Text des aktuellen Elements wird von ` currentText()` zurückgegeben, und der Text eines nummerierten Elements wird mit `text()` zurückgegeben. Das aktuelle Element kann mit ` setCurrentIndex()` festgelegt werden. Die Anzahl der Elemente in der Combobox wird von count() zurückgegeben; die maximale Anzahl der Elemente kann mit setMaxCount() festgelegt werden. Mit setEditable() können Sie die Bearbeitung zulassen. Bei bearbeitbaren Comboboxen können Sie die Autovervollständigung mit setCompleter() aktivieren, und ob der Benutzer Duplikate hinzufügen darf oder nicht, wird mit setDuplicatesEnabled() festgelegt.

Signale

Es werden drei Signale ausgelöst, wenn sich der aktuelle Eintrag einer Combobox ändert: „ currentIndexChanged “ (), „ currentTextChanged “ () und „ activated “ (). „ currentIndexChanged “ () und „ currentTextChanged “ () werden immer ausgelöst, unabhängig davon, ob die Änderung programmgesteuert oder durch eine Benutzeraktion erfolgte, während „ activated “ () nur ausgelöst wird, wenn die Änderung durch eine Benutzeraktion verursacht wurde. Das Signal „ highlighted()“ wird ausgelöst, wenn der Benutzer ein Element in der Popup-Liste der Combobox markiert. Alle drei Signale existieren in zwei Versionen: eine mit dem Argument „ QString “ und eine mit dem Argument „ int “. Wenn der Benutzer eine Pixmap auswählt oder markiert, werden nur die Signale „ int “ ausgelöst. Immer wenn der Text einer bearbeitbaren Combobox geändert wird, wird das Signal „ editTextChanged()“ ausgelöst.

Model/View-Framework

QComboBox nutzt das Modell-Ansicht-Framework für ihre Popup-Liste und zum Speichern ihrer Elemente. Standardmäßig speichert ein „ QStandardItemModel “ die Elemente, und eine Unterklasse von „ QListView “ zeigt die Popup-Liste an. Sie können direkt auf das Modell und die Ansicht zugreifen (mit ` model()` und ` view()`), aber QComboBox stellt auch Funktionen zum Setzen und Abrufen von Elementdaten bereit, zum Beispiel ` setItemData()` und ` itemText()`. Sie können auch ein neues Modell und eine neue Ansicht festlegen (mit setModel() und setView()). Für den Text und das Symbol in der Beschriftung der Combobox werden die Daten aus dem Modell verwendet, das die Eigenschaften „ Qt::DisplayRole “ und „ Qt::DecorationRole “ enthält.

Hinweis: Sie können die „ SelectionMode “ des „ view()“ nicht ändern, beispielsweise durch Verwendung von „ setSelectionMode()“.

Siehe auch QLineEdit, QSpinBox, QRadioButton und QButtonGroup.

Dokumentation zu Mitgliedstypen

enum QComboBox::InsertPolicy

Diese Enumeration legt fest, wie sich die „ QComboBox “ verhalten soll, wenn der Benutzer eine neue Zeichenfolge eingibt.

KonstanteWertBeschreibung
QComboBox::NoInsert0Die Zeichenfolge wird nicht in die Combobox eingefügt.
QComboBox::InsertAtTop1Die Zeichenfolge wird als erstes Element in die Combobox eingefügt.
QComboBox::InsertAtCurrent2Der aktuelle Eintrag wird durch die Zeichenfolge ersetzt.
QComboBox::InsertAtBottom3Die Zeichenfolge wird hinter dem letzten Eintrag in der Combobox eingefügt.
QComboBox::InsertAfterCurrent4Die Zeichenfolge wird hinter dem aktuellen Eintrag in der Combobox eingefügt.
QComboBox::InsertBeforeCurrent5Die Zeichenfolge wird vor dem aktuellen Eintrag in der Combobox eingefügt.
QComboBox::InsertAlphabetically6Die Zeichenfolge wird in alphabetischer Reihenfolge in die Combobox eingefügt.

[since 6.9] enum class QComboBox::LabelDrawingMode

Diese Enumeration legt fest, wie die Combobox ihre Beschriftung darstellt.

KonstanteWertBeschreibung
QComboBox::LabelDrawingMode::UseStyle0Die Combobox verwendet den „ style “, um ihre Beschriftung darzustellen.
QComboBox::LabelDrawingMode::UseDelegate1Die Combobox verwendet den „ item delegate “, um die Beschriftung zu zeichnen. Legen Sie bei Verwendung dieses Modus einen geeigneten Item-Delegaten fest.

Diese Enumeration wurde in Qt 6.9 eingeführt.

Siehe auch „ labelDrawingMode “ und das Beispiel „Books“.

enum QComboBox::SizeAdjustPolicy

Diese Enumeration legt fest, wie sich der Größenhinweis des „ QComboBox “ anpassen soll, wenn neue Inhalte hinzugefügt werden oder sich Inhalte ändern.

KonstanteWertBeschreibung
QComboBox::AdjustToContents0Die Combobox passt sich stets an den Inhalt an
QComboBox::AdjustToContentsOnFirstShow1Die Combobox passt sich beim ersten Anzeigen an ihren Inhalt an.
QComboBox::AdjustToMinimumContentsLengthWithIcon2Die Combobox passt sich der Größe „ minimumContentsLength “ plus Platz für ein Symbol an. Verwenden Sie diese Richtlinie aus Leistungsgründen bei großen Modellen.

Eigenschaftsdokumentation

[read-only] count : int

Diese Eigenschaft gibt die Anzahl der Elemente in der Kombinationsfeld an.

Standardmäßig hat diese Eigenschaft bei einer leeren Combobox den Wert 0.

Zugriffsfunktionen:

int count() const

[read-only] currentData : QVariant

Diese Eigenschaft enthält die Daten für das aktuelle Element

Standardmäßig enthält diese Eigenschaft bei einer leeren Kombinationsfeld oder einem Kombinationsfeld, in dem kein aktuelles Element festgelegt ist, einen ungültigen Wert „ QVariant “.

Zugriffsfunktionen:

QVariant currentData(int role = Qt::UserRole) const

currentIndex : int

Diese Eigenschaft enthält den Index des aktuellen Elements in der Kombinationsfeld.

Der aktuelle Index kann sich ändern, wenn Elemente hinzugefügt oder entfernt werden.

Standardmäßig hat diese Eigenschaft bei einer leeren Combobox oder einer Combobox, in der kein aktuelles Element festgelegt ist, den Wert -1.

Zugriffsfunktionen:

int currentIndex() const
void setCurrentIndex(int index)

Benachrichtigungssignal:

void currentIndexChanged(int index)

currentText : QString

Diese Eigenschaft enthält den aktuellen Text

Ist die Kombinationsfeld editierbar, entspricht der aktuelle Text dem im Textfeld angezeigten Wert. Andernfalls ist es der Wert des aktuellen Elements oder eine leere Zeichenfolge, wenn das Kombinationsfeld leer ist oder kein aktuelles Element festgelegt ist.

Der Setter `setCurrentText()` ruft einfach ` setEditText()` auf, wenn die Kombinationsfeld bearbeitbar ist. Andernfalls wird, sofern ein passender Text in der Liste vorhanden ist, ` currentIndex ` auf den entsprechenden Index gesetzt.

Zugriffsfunktionen:

QString currentText() const
void setCurrentText(const QString &text)

Notifier-Signal:

void currentTextChanged(const QString &text)

Siehe auch ` editable ` und ` setEditText()`.

duplicatesEnabled : bool

Diese Eigenschaft legt fest, ob der Benutzer doppelte Einträge in die Combobox eingeben darf.

Beachten Sie, dass es immer möglich ist, doppelte Einträge programmgesteuert in die Combobox einzufügen.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt (Duplikate sind nicht zulässig).

Zugriffsfunktionen:

bool duplicatesEnabled() const
void setDuplicatesEnabled(bool enable)

editable : bool

Diese Eigenschaft legt fest, ob die Kombinationsfeld vom Benutzer bearbeitet werden kann.

Standardmäßig ist diese Eigenschaft auf „ false “ gesetzt. Die Auswirkung der Bearbeitung hängt von der Einfügerichtlinie ab.

Hinweis: Wenn der Status „ editable “ deaktiviert wird, werden der Validator und der Completer entfernt.

Zugriffsfunktionen:

bool isEditable() const
void setEditable(bool editable)

Siehe auch „ InsertPolicy “.

frame : bool

Diese Eigenschaft legt fest, ob die Kombinationsfeld mit einem Rahmen dargestellt wird.

Wenn diese Eigenschaft aktiviert ist (Standardeinstellung), wird das Kombinationsfeld innerhalb eines Rahmens dargestellt; andernfalls wird es ohne Rahmen dargestellt.

Zugriffsfunktionen:

bool hasFrame() const
void setFrame(bool)

iconSize : QSize

Diese Eigenschaft gibt die Größe der in der Combobox angezeigten Symbole an.

Sofern nicht explizit festgelegt, wird der Standardwert des aktuellen Stils zurückgegeben. Diese Größe ist die maximale Größe, die Symbole haben können; Symbole mit kleinerer Größe werden nicht vergrößert.

Zugriffsfunktionen:

QSize iconSize() const
void setIconSize(const QSize &size)

insertPolicy : InsertPolicy

Diese Eigenschaft enthält die Richtlinie, anhand derer festgelegt wird, an welcher Stelle vom Benutzer eingefügte Elemente in der Combobox angezeigt werden sollen.

Der Standardwert lautet „ InsertAtBottom “ und gibt an, dass neue Elemente am Ende der Elementliste angezeigt werden.

Zugriffsfunktionen:

QComboBox::InsertPolicy insertPolicy() const
void setInsertPolicy(QComboBox::InsertPolicy policy)

Siehe auch „ InsertPolicy “.

[since 6.9] labelDrawingMode : LabelDrawingMode

Diese Eigenschaft legt den Modus fest, den die Combobox zum Zeichnen ihrer Beschriftung verwendet.

Der Standardwert ist „ UseStyle “. Wenn Sie diese Eigenschaft auf „ UseDelegate “ ändern, stellen Sie sicher, dass Sie auch einen geeigneten „ item delegate “ festlegen. Der Standarddelegat hängt vom Stil ab und ist möglicherweise nicht für die Darstellung der Beschriftung geeignet.

Diese Aufzählung wurde in Qt 6.9 eingeführt.

Zugriffsfunktionen:

QComboBox::LabelDrawingMode labelDrawingMode() const
void setLabelDrawingMode(QComboBox::LabelDrawingMode labelDrawing)

Siehe auch das Beispiel „Books“.

maxCount : int

Diese Eigenschaft legt die maximal zulässige Anzahl von Elementen in der Combobox fest.

Hinweis: Wenn Sie die maximale Anzahl auf einen Wert festlegen, der kleiner ist als die aktuelle Anzahl der Elemente in der Combobox, werden die überschüssigen Elemente abgeschnitten. Dies gilt auch, wenn Sie ein externes Modell für die Combobox festgelegt haben.

Standardmäßig wird der Wert dieser Eigenschaft aus der höchsten verfügbaren vorzeichenbehafteten Ganzzahl abgeleitet (in der Regel 2147483647).

Zugriffsfunktionen:

int maxCount() const
void setMaxCount(int max)

maxVisibleItems : int

Diese Eigenschaft gibt die maximal zulässige Bildschirmgröße der Kombinationsfelds an, gemessen in Elementen

Standardmäßig hat diese Eigenschaft den Wert 10.

Hinweis: Diese Eigenschaft wird bei nicht bearbeitbaren Kombinationsfeldern in Stilen ignoriert, die für „ QStyle::SH_ComboBox_Popup “ den Wert „true“ zurückgeben, wie beispielsweise der Mac-Stil oder der Gtk+-Stil.

Zugriffsfunktionen:

int maxVisibleItems() const
void setMaxVisibleItems(int maxItems)

minimumContentsLength : int

Diese Eigenschaft gibt die Mindestanzahl an Zeichen an, die in die Combobox passen sollten.

Der Standardwert ist 0.

Wird diese Eigenschaft auf einen positiven Wert gesetzt, berücksichtigen die Methoden „ minimumSizeHint()“ und „ sizeHint()“ diesen Wert.

Zugriffsfunktionen:

int minimumContentsLength() const
void setMinimumContentsLength(int characters)

Siehe auch sizeAdjustPolicy.

modelColumn : int

Diese Eigenschaft legt fest, welche Spalte im Modell sichtbar ist.

Wird diese Eigenschaft vor dem Befüllen des Kombinationsfelds festgelegt, hat dies keine Auswirkungen auf die Popup-Ansicht, die weiterhin die erste Spalte anzeigt (unter Verwendung des Standardwerts dieser Eigenschaft).

Standardmäßig hat diese Eigenschaft den Wert 0.

Hinweis: In einer bearbeitbaren Kombinationsliste wird die sichtbare Spalte auch zur „ completion column “.

Zugriffsfunktionen:

int modelColumn() const
void setModelColumn(int visibleColumn)

placeholderText : QString

Legt den Text „ placeholderText “ fest, der angezeigt wird, wenn kein gültiger Index festgelegt ist.

Der Platzhaltertext „ placeholderText “ wird angezeigt, wenn ein ungültiger Index festgelegt ist. Der Text ist in der Dropdown-Liste nicht zugänglich. Wenn diese Funktion aufgerufen wird, bevor Elemente hinzugefügt werden, wird der Platzhaltertext angezeigt; andernfalls müssen Sie „ setCurrentIndex(-1)“ programmgesteuert aufrufen, wenn Sie den Platzhaltertext anzeigen möchten. Legen Sie einen leeren Platzhaltertext fest, um die Einstellung zurückzusetzen.

Wenn der Platzhaltertext „ QComboBox “ bearbeitbar ist, verwenden Sie stattdessen „ QLineEdit::setPlaceholderText()“.

Zugriffsfunktionen:

QString placeholderText() const
void setPlaceholderText(const QString &placeholderText)

sizeAdjustPolicy : SizeAdjustPolicy

Diese Eigenschaft enthält die Richtlinie, die beschreibt, wie sich die Größe der Combobox ändert, wenn sich der Inhalt ändert.

Der Standardwert lautet „ AdjustToContentsOnFirstShow “.

Zugriffsfunktionen:

QComboBox::SizeAdjustPolicy sizeAdjustPolicy() const
void setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy)

Siehe auch „ SizeAdjustPolicy “.

Dokumentation zu den Mitgliedsfunktionen

[explicit] QComboBox::QComboBox(QWidget *parent = nullptr)

Erstellt eine Combobox mit dem angegebenen „ parent “ unter Verwendung des Standardmodells „ QStandardItemModel “.

[virtual noexcept] QComboBox::~QComboBox()

Löscht die Combobox.

[signal] void QComboBox::activated(int index)

Dieses Signal wird gesendet, wenn der Benutzer einen Eintrag in der Combobox auswählt. Dabei wird die ID des Eintrags („ index “) übergeben. Beachten Sie, dass dieses Signal auch dann gesendet wird, wenn sich die Auswahl nicht ändert. Wenn Sie wissen möchten, wann sich die Auswahl tatsächlich ändert, verwenden Sie das Signal „ currentIndexChanged()“ oder „ currentTextChanged()“.

void QComboBox::addItem(const QString &text, const QVariant &userData = QVariant())

Fügt der Combobox einen Eintrag mit der angegebenen „ text “ hinzu, der die angegebene „ userData “ enthält (gespeichert in der „ Qt::UserRole “). Der Eintrag wird an das Ende der Liste der vorhandenen Einträge angehängt.

void QComboBox::addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

Fügt der Combobox einen Eintrag mit den angegebenen Werten „ icon “ und „ text “ hinzu, der den angegebenen Wert „ userData “ enthält (gespeichert in „ Qt::UserRole “). Der Eintrag wird an das Ende der Liste der vorhandenen Einträge angehängt.

void QComboBox::addItems(const QStringList &texts)

Fügt jede der Zeichenfolgen aus dem angegebenen „ texts “ zur Combobox hinzu. Jedes Element wird nacheinander an die Liste der vorhandenen Elemente angehängt.

[override virtual protected] void QComboBox::changeEvent(QEvent *e)

Umsetzt: QWidget::changeEvent(QEvent *event).

[slot] void QComboBox::clear()

Löscht den Inhalt der Combobox und entfernt alle Einträge.

Hinweis: Wenn Sie für die Kombinationsliste ein externes Modell festgelegt haben, wird dieses Modell beim Aufruf dieser Funktion ebenfalls gelöscht.

[slot] void QComboBox::clearEditText()

Löscht den Inhalt des Eingabefelds, das zur Bearbeitung in der Combobox verwendet wird.

QCompleter *QComboBox::completer() const

Gibt den „Completer“ zurück, der zur automatischen Vervollständigung der Texteingabe für die Combobox verwendet wird.

Siehe auch setCompleter() und editable.

[override virtual protected] void QComboBox::contextMenuEvent(QContextMenuEvent *e)

Implementiert: ` QWidget::contextMenuEvent(QContextMenuEvent *event)`.

[signal] void QComboBox::currentIndexChanged(int index)

Dieses Signal wird immer dann ausgelöst, wenn sich die Eigenschaft „ currentIndex “ in der Combobox entweder durch eine Benutzeraktion oder programmgesteuert ändert. Dabei wird die Eigenschaft „ index “ des Elements übergeben oder der Wert -1, falls die Combobox leer wird oder die Eigenschaft „ currentIndex “ zurückgesetzt wurde.

Hinweis: Notifier -Signal für die Eigenschaft ` currentIndex`.

[signal] void QComboBox::currentTextChanged(const QString &text)

Dieses Signal wird immer dann ausgelöst, wenn sich currentText ändert. Der neue Wert wird als text übergeben.

Hinweis: Es wird nicht ausgelöst, wenn „ currentText “ gleich bleibt, selbst wenn sich „ currentIndex “ ändert.

Hinweis: Notifier -Signal für die Eigenschaft ` currentText`.

[signal] void QComboBox::editTextChanged(const QString &text)

Dieses Signal wird ausgelöst, wenn der Text im Zeileneingabefeld der Combobox geändert wird. Der neue Text wird durch ` text` angegeben.

[override virtual] bool QComboBox::event(QEvent *event)

Umsetzt: ` QWidget::event(QEvent *event)`.

int QComboBox::findData(const QVariant &data, int role = Qt::UserRole, Qt::MatchFlags flags = static_cast<Qt::MatchFlags>(Qt::MatchExactly|Qt::MatchCaseSensitive)) const

Gibt den Index des Elements zurück, das die angegebenen „ data “ für die angegebene „ role “ enthält; andernfalls wird -1 zurückgegeben.

Die „ flags “ legen fest, wie die Elemente in der Combobox durchsucht werden.

int QComboBox::findText(const QString &text, Qt::MatchFlags flags = Qt::MatchExactly|Qt::MatchCaseSensitive) const

Gibt den Index des Elements zurück, das die angegebene „ text “ enthält; andernfalls wird -1 zurückgegeben.

Die „ flags “ legen fest, wie die Elemente in der Combobox durchsucht werden.

[override virtual protected] void QComboBox::focusInEvent(QFocusEvent *e)

Implementiert: ` QWidget::focusInEvent(QFocusEvent *event)`.

[override virtual protected] void QComboBox::focusOutEvent(QFocusEvent *e)

Implementiert: ` QWidget::focusOutEvent(QFocusEvent *event)`.

[override virtual protected] void QComboBox::hideEvent(QHideEvent *e)

Implementiert: ` QWidget::hideEvent(QHideEvent *event)`.

[virtual] void QComboBox::hidePopup()

Blendet die Liste der Elemente in der Combobox aus, sofern diese gerade sichtbar ist, und setzt den internen Zustand zurück, sodass – falls das benutzerdefinierte Popup innerhalb der neu implementierten Funktion ` showPopup()` angezeigt wurde – müssen Sie auch die Funktion `hidePopup()` neu implementieren, um Ihr benutzerdefiniertes Popup auszublenden, und die Implementierung der Basisklasse aufrufen, um den internen Zustand zurückzusetzen, sobald Ihr benutzerdefiniertes Popup-Widget ausgeblendet wird.

Siehe auch ` showPopup()`.

[signal] void QComboBox::highlighted(int index)

Dieses Signal wird ausgelöst, wenn der Benutzer einen Eintrag in der Popup-Liste der Kombinationsfelds markiert. Dabei wird die ID des Eintrags („ index “) übergeben.

[virtual protected] void QComboBox::initStyleOption(QStyleOptionComboBox *option) const

Initialisieren Sie ` option ` mit den Werten aus dieser Datei: QComboBox. Diese Methode ist für Unterklassen nützlich, wenn diese ein ` QStyleOptionComboBox` benötigen, aber nicht alle Informationen selbst eingeben möchten.

Siehe auch ` QStyleOption::initFrom()`.

[override virtual protected] void QComboBox::inputMethodEvent(QInputMethodEvent *e)

Implementiert: QWidget::inputMethodEvent(QInputMethodEvent *event).

[override virtual] QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const

Implementiert neu: ` QWidget::inputMethodQuery` (Qt::InputMethodQuery query) const.

void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())

Fügt die Elemente „ text “ und „ userData “ (die in der Datei „ Qt::UserRole “ gespeichert sind) in die Combobox unter der angegebenen Adresse „ index “ ein.

Ist der Index gleich oder größer als die Gesamtanzahl der Elemente, wird das neue Element an das Ende der Liste der vorhandenen Elemente angehängt. Ist der Index null oder negativ, wird das neue Element an den Anfang der Liste der vorhandenen Elemente eingefügt.

Siehe auch insertItems().

void QComboBox::insertItem(int index, const QIcon &icon, const QString &text, const QVariant &userData = QVariant())

Fügt die Elemente „ icon “, „ text “ und „ userData “ (die in der Datei „ Qt::UserRole “ gespeichert sind) in die Combobox unter der angegebenen Adresse „ index “ ein.

Ist der Index gleich oder größer als die Gesamtanzahl der Elemente, wird das neue Element an das Ende der Liste der vorhandenen Elemente angehängt. Ist der Index null oder negativ, wird das neue Element an den Anfang der Liste der vorhandenen Elemente eingefügt.

Siehe auch ` insertItems()`.

void QComboBox::insertItems(int index, const QStringList &list)

Fügt die Zeichenfolgen aus dem „ list “ als separate Einträge in die Combobox ein, beginnend mit dem angegebenen Index „ index “.

Ist der Index gleich oder größer als die Gesamtzahl der Elemente, werden die neuen Elemente an das Ende der Liste der vorhandenen Elemente angehängt. Ist der Index null oder negativ, werden die neuen Elemente an den Anfang der Liste der vorhandenen Elemente eingefügt.

Siehe auch insertItem().

void QComboBox::insertSeparator(int index)

Fügt ein Trennelement an der angegebenen Position index in die Combobox ein.

Ist der Index gleich oder größer als die Gesamtzahl der Elemente, wird das neue Element an das Ende der Liste der vorhandenen Elemente angehängt. Ist der Index null oder negativ, wird das neue Element vor die Liste der vorhandenen Elemente eingefügt.

Siehe auch insertItem().

QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const

Gibt die Daten für die angegebene Rolle „ role “ in der angegebenen Rolle „ index “ in der Combobox zurück oder einen ungültigen Wert „ QVariant “, falls für diese Rolle keine Daten vorhanden sind.

Siehe auch setItemData().

QAbstractItemDelegate *QComboBox::itemDelegate() const

Gibt den von der Popup-Listenansicht verwendeten Element-Delegaten zurück.

Siehe auch „ setItemDelegate()“.

QIcon QComboBox::itemIcon(int index) const

Gibt das Symbol für das angegebene „ index “ in der Combobox zurück.

Siehe auch setItemIcon().

QString QComboBox::itemText(int index) const

Gibt den Text für die angegebene „ index “ in der Combobox zurück.

Siehe auch ` setItemText()` ().

[override virtual protected] void QComboBox::keyPressEvent(QKeyEvent *e)

Implementiert: ` QWidget::keyPressEvent(QKeyEvent *event)`.

[override virtual protected] void QComboBox::keyReleaseEvent(QKeyEvent *e)

Implementiert: ` QWidget::keyReleaseEvent(QKeyEvent *event)`.

QLineEdit *QComboBox::lineEdit() const

Gibt das Eingabefeld zurück, das zum Bearbeiten von Elementen in der Combobox verwendet wird, oder „ nullptr “, falls kein Eingabefeld vorhanden ist.

Nur bearbeitbare Kombinationsfelder verfügen über ein Eingabefeld.

Siehe auch „ setLineEdit()“.

[override virtual] QSize QComboBox::minimumSizeHint() const

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::minimumSizeHint “ neu.

QAbstractItemModel *QComboBox::model() const

Gibt das von der Combobox verwendete Modell zurück.

Siehe auch ` setModel()`.

[override virtual protected] void QComboBox::mousePressEvent(QMouseEvent *e)

Implementiert: ` QWidget::mousePressEvent` (`QMouseEvent *event`).

[override virtual protected] void QComboBox::mouseReleaseEvent(QMouseEvent *e)

Implementiert: ` QWidget::mouseReleaseEvent` (`QMouseEvent *event`).

[override virtual protected] void QComboBox::paintEvent(QPaintEvent *e)

Umsetzt: ` QWidget::paintEvent` (`QPaintEvent *event`).

void QComboBox::removeItem(int index)

Entfernt das Element an der angegebenen Position index aus der Combobox. Dabei wird der aktuelle Index aktualisiert, falls der Index entfernt wird.

Diese Funktion führt keine Aktion aus, wenn „ index “ außerhalb des zulässigen Bereichs liegt.

[override virtual protected] void QComboBox::resizeEvent(QResizeEvent *e)

Implementiert: ` QWidget::resizeEvent(QResizeEvent *event)`.

QModelIndex QComboBox::rootModelIndex() const

Gibt den Index des Stammmodells für die Elemente in der Combobox zurück.

Siehe auch „ setRootModelIndex()“.

void QComboBox::setCompleter(QCompleter *completer)

Legt fest, welche „ completer “ anstelle des aktuellen Vervollständigers verwendet werden soll. Wenn „ completer “ auf „ nullptr “ gesetzt ist, wird die automatische Vervollständigung deaktiviert.

Standardmäßig wird für ein bearbeitbares Kombinationsfeld automatisch ein „ QCompleter “ erstellt, der eine groß-/kleinschreibungsunabhängige Inline-Vervollständigung durchführt.

Hinweis: Der Komplettierer wird entfernt, wenn die Eigenschaft „ editable “ den Wert „ false “ annimmt oder wenn das Eingabefeld durch einen Aufruf von „ setLineEdit()“ ersetzt wird. Das Festlegen eines Komplettierers für ein „ QComboBox “, das nicht editierbar ist, wird ignoriert.

Siehe auch completer().

[slot] void QComboBox::setEditText(const QString &text)

Legt den Wert „ text “ im Textfeld der Kombinationsliste fest.

void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)

Setzt die Daten role für das Element unter der angegebenen index in der Combobox auf die angegebene value.

Siehe auch ` itemData()`.

void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)

Legt das Element „ delegate “ für die Popup-Listenansicht fest. Die Combobox übernimmt die Verantwortung für den Delegaten.

Ein eventuell vorhandener Delegat wird entfernt, jedoch nicht gelöscht. „ QComboBox “ übernimmt nicht die Verantwortung für „ delegate “.

Warnung: Sie sollten nicht dieselbe Instanz eines Delegaten zwischen Comboboxen, Widget-Mappern oder Ansichten gemeinsam nutzen. Dies kann zu fehlerhaftem oder nicht intuitivem Bearbeitungsverhalten führen, da jede mit einem bestimmten Delegaten verbundene Ansicht das Signal „ closeEditor()“ empfangen und versuchen könnte, auf einen bereits geschlossenen Editor zuzugreifen, diesen zu ändern oder zu schließen.

Siehe auch ` itemDelegate()`.

void QComboBox::setItemIcon(int index, const QIcon &icon)

Legt die Eigenschaft „ icon “ für das Element mit der angegebenen ID „ index “ in der Combobox fest.

Siehe auch „ itemIcon()“.

void QComboBox::setItemText(int index, const QString &text)

Legt die Eigenschaft „ text “ für das Element mit der angegebenen ID „ index “ in der Combobox fest.

Siehe auch itemText().

void QComboBox::setLineEdit(QLineEdit *edit)

Legt das Line- edit -Element fest, das anstelle des aktuellen Line-Edit-Widgets verwendet werden soll.

Die Kombinationsfeld übernimmt die Kontrolle über das Zeilenbearbeitungsfeld.

Hinweis: Da das Zeilenbearbeitungsfeld der Kombinationsfelds die Kontrolle über die Eingabe QCompleter übernimmt, haben frühere Aufrufe von ` setCompleter()` keine Wirkung mehr.

Siehe auch ` lineEdit()`.

[virtual] void QComboBox::setModel(QAbstractItemModel *model)

Setzt das Modell auf „ model “. „ model “ darf nicht „ nullptr “ sein. Wenn Sie den Inhalt eines Modells löschen möchten, rufen Sie „ clear()“ auf.

Hinweis: Wenn die Combobox bearbeitbar ist, wird „ model “ auch im Komplettierer des Zeilenedits gesetzt.

Siehe auch model(), clear() und setCompleter().

void QComboBox::setRootModelIndex(const QModelIndex &index)

Legt das Stammmodellelement „ index “ für die Elemente in der Combobox fest.

Siehe auch ` rootModelIndex()`.

void QComboBox::setValidator(const QValidator *validator)

Legt den „ validator “ fest, der anstelle des aktuellen Validators verwendet werden soll.

Hinweis: Der Validator wird entfernt, sobald die Eigenschaft „ editable “ den Wert „ false “ annimmt.

Siehe auch ` validator()`.

void QComboBox::setView(QAbstractItemView *itemView)

Legt die im Popup-Fenster der Combobox zu verwendende Ansicht auf die angegebene „ itemView “ fest. Die Combobox übernimmt die Verantwortung für die Ansicht.

Hinweis: Wenn Sie die Komfortansichten (wie QListWidget, QTableWidget oder QTreeWidget) verwenden möchten, stellen Sie sicher, dass Sie setModel() auf der Combobox mit dem Modell der Komfort-Widgets aufrufen, bevor Sie diese Funktion aufrufen.

Siehe auch view().

[override virtual protected] void QComboBox::showEvent(QShowEvent *e)

Implementiert: QWidget::showEvent(QShowEvent *event).

[virtual] void QComboBox::showPopup()

Zeigt die Liste der Elemente in der Combobox an. Ist die Liste leer, werden keine Elemente angezeigt.

Wenn Sie diese Funktion neu implementieren, um ein benutzerdefiniertes Popup-Fenster anzuzeigen, stellen Sie sicher, dass Sie ` hidePopup()` aufrufen, um den internen Zustand zurückzusetzen.

Siehe auch ` hidePopup()`.

[override virtual] QSize QComboBox::sizeHint() const

Implementiert eine Zugriffsfunktion für die Eigenschaft „ QWidget::sizeHint “ neu.

Diese Implementierung speichert den Größenhinweis im Cache, um eine Größenanpassung zu vermeiden, wenn sich der Inhalt dynamisch ändert. Um den zwischengespeicherten Wert zu ungültig zu machen, ändern Sie den Wert von ` sizeAdjustPolicy`.

[signal] void QComboBox::textActivated(const QString &text)

Dieses Signal wird gesendet, wenn der Benutzer einen Eintrag in der Combobox auswählt. Dabei wird die ID des Eintrags („ text “) übergeben. Beachten Sie, dass dieses Signal auch dann gesendet wird, wenn sich die Auswahl nicht ändert. Wenn Sie wissen möchten, wann sich die Auswahl tatsächlich ändert, verwenden Sie das Signal „ currentIndexChanged()“ oder „ currentTextChanged()“.

[signal] void QComboBox::textHighlighted(const QString &text)

Dieses Signal wird ausgelöst, wenn der Benutzer einen Eintrag in der Popup-Liste der Combobox markiert. Dabei wird die ID des Eintrags ( text ) übergeben.

const QValidator *QComboBox::validator() const

Gibt den Validator zurück, der zur Einschränkung der Texteingabe für die Combobox verwendet wird.

Siehe auch setValidator() und editable.

QAbstractItemView *QComboBox::view() const

Gibt die Listenansicht zurück, die für das Popup-Fenster der Combobox verwendet wird.

Siehe auch setView().

[override virtual protected] void QComboBox::wheelEvent(QWheelEvent *e)

Implementiert: ` QWidget::wheelEvent` (`QWheelEvent *event`).

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.