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: |
Ö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
Zusammengeklappte QCombobox |
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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QComboBox::NoInsert | 0 | Die Zeichenfolge wird nicht in die Combobox eingefügt. |
QComboBox::InsertAtTop | 1 | Die Zeichenfolge wird als erstes Element in die Combobox eingefügt. |
QComboBox::InsertAtCurrent | 2 | Der aktuelle Eintrag wird durch die Zeichenfolge ersetzt. |
QComboBox::InsertAtBottom | 3 | Die Zeichenfolge wird hinter dem letzten Eintrag in der Combobox eingefügt. |
QComboBox::InsertAfterCurrent | 4 | Die Zeichenfolge wird hinter dem aktuellen Eintrag in der Combobox eingefügt. |
QComboBox::InsertBeforeCurrent | 5 | Die Zeichenfolge wird vor dem aktuellen Eintrag in der Combobox eingefügt. |
QComboBox::InsertAlphabetically | 6 | Die 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QComboBox::LabelDrawingMode::UseStyle | 0 | Die Combobox verwendet den „ style “, um ihre Beschriftung darzustellen. |
QComboBox::LabelDrawingMode::UseDelegate | 1 | Die 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QComboBox::AdjustToContents | 0 | Die Combobox passt sich stets an den Inhalt an |
QComboBox::AdjustToContentsOnFirstShow | 1 | Die Combobox passt sich beim ersten Anzeigen an ihren Inhalt an. |
QComboBox::AdjustToMinimumContentsLengthWithIcon | 2 | Die 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.

