QComboBox Class
Das QComboBox-Widget kombiniert eine Schaltfläche mit einer Dropdown-Liste. Mehr...
Kopfzeile: | #include <QComboBox> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbt: | QWidget |
Vererbt von: |
Öffentliche Typen
enum | InsertPolicy { NoInsert, InsertAtTop, InsertAtCurrent, InsertAtBottom, InsertAfterCurrent, …, InsertAlphabetically } |
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 |
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 | 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 |
Reimplementierte ö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 |
Reimplementierte 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 | ![]() Erweitertes QCombobox |
Eigenschaften anzeigen
Eine QComboBox ist eine kompakte Möglichkeit, dem Benutzer eine Liste von Optionen zu präsentieren.
Eine Combobox ist ein Auswahl-Widget, das das aktuelle Element anzeigt und eine Liste von auswählbaren Elementen aufklappt, wenn es angeklickt wird. Comboboxen können sowohl Pixmaps als auch Strings enthalten, wenn die Funktionen insertItem() und setItemText() entsprechend überladen sind.
Bearbeitungsfunktionen
Eine Combobox kann editierbar sein, so dass der Benutzer jedes Element in der Liste ändern kann. Für editierbare Comboboxen gibt es die Funktion clearEditText(), die die angezeigte Zeichenkette löscht, ohne den Inhalt der Combobox zu verändern.
Wenn der Benutzer eine neue Zeichenkette in eine editierbare Combobox eingibt, kann das Widget diese einfügen oder nicht, und es kann sie an verschiedenen Stellen einfügen. Die Standardrichtlinie ist InsertAtBottom, aber Sie können dies mit setInsertPolicy() ändern.
Es ist möglich, die Eingabe auf eine editierbare Combobox zu beschränken, indem man QValidator verwendet; siehe setValidator(). Standardmäßig wird jede Eingabe akzeptiert.
Eine Combobox kann mit den Einfügefunktionen, z. B. insertItem() und insertItems(), gefüllt werden. Einträge können mit setItemText() geändert werden. Ein Element kann mit removeItem() und alle Elemente können mit clear() entfernt werden. Der Text des aktuellen Eintrags wird mit currentText() zurückgegeben, und der Text eines nummerierten Eintrags wird mit text() zurückgegeben. Das aktuelle Element kann mit setCurrentIndex() gesetzt werden. Die Anzahl der Elemente in der Combobox wird mit count() zurückgegeben; die maximale Anzahl der Elemente kann mit setMaxCount() eingestellt werden. Mit setEditable() können Sie die Bearbeitung zulassen. Für bearbeitbare Comboboxen können Sie mit setCompleter() die Autovervollständigung einstellen, und ob der Benutzer Duplikate hinzufügen kann oder nicht, wird mit setDuplicatesEnabled() festgelegt.
Signale
Es gibt drei Signale, die ausgegeben werden, wenn sich der aktuelle Eintrag in einer Combobox ändert: currentIndexChanged(), currentTextChanged() und activated(). currentIndexChanged Die Signale activated() und currentTextChanged() werden immer ausgegeben, unabhängig davon, ob die Änderung programmatisch oder durch Benutzerinteraktion erfolgt ist, während () nur ausgegeben wird, wenn die Änderung durch Benutzerinteraktion verursacht wurde. Das Signal highlighted() wird ausgegeben, wenn der Benutzer einen Eintrag in der Combobox-Popup-Liste markiert. Alle drei Signale existieren in zwei Versionen, eine mit einem QString Argument und eine mit einem int
Argument. Wenn der Benutzer eine Pixmap auswählt oder hervorhebt, werden nur die Signale int
ausgegeben. Wenn der Text einer editierbaren Combobox geändert wird, wird das Signal editTextChanged() ausgegeben.
Model/View-Framework
QComboBox verwendet das Model/View-Framework für seine Popup-Liste und zum Speichern der Elemente. Standardmäßig speichert eine QStandardItemModel die Elemente und eine QListView Unterklasse zeigt die Popup-Liste an. Sie können direkt auf das Modell und die Ansicht zugreifen (mit model() und view()), aber QComboBox bietet auch Funktionen zum Setzen und Abrufen von Elementdaten, 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 in dem Modell verwendet, das die Qt::DisplayRole und Qt::DecorationRole hat.
Hinweis: Sie können die SelectionMode der view() nicht ändern, indem Sie z. B. setSelectionMode() verwenden.
Siehe auch QLineEdit, QSpinBox, QRadioButton, und QButtonGroup.
Dokumentation der Mitgliedstypen
enum QComboBox::InsertPolicy
Diese Aufzählung gibt an, was QComboBox tun soll, wenn eine neue Zeichenkette vom Benutzer eingegeben wird.
Konstante | Wert | Beschreibung |
---|---|---|
QComboBox::NoInsert | 0 | Die Zeichenfolge wird nicht in die Combobox eingefügt. |
QComboBox::InsertAtTop | 1 | Die Zeichenkette wird als erstes Element in die Combobox eingefügt. |
QComboBox::InsertAtCurrent | 2 | Der aktuelle Eintrag wird durch die Zeichenkette ersetzt. |
QComboBox::InsertAtBottom | 3 | Die Zeichenkette wird nach dem letzten Eintrag in der Combobox eingefügt. |
QComboBox::InsertAfterCurrent | 4 | Die Zeichenkette wird nach dem aktuellen Eintrag in der Combobox eingefügt. |
QComboBox::InsertBeforeCurrent | 5 | Die Zeichenkette wird vor dem aktuellen Eintrag in der Combobox eingefügt. |
QComboBox::InsertAlphabetically | 6 | Die Zeichenkette wird in der alphabetischen Reihenfolge in die Combobox eingefügt. |
enum QComboBox::SizeAdjustPolicy
Diese Aufzählung gibt an, wie der Größenhinweis von QComboBox angepasst werden soll, wenn neue Inhalte hinzugefügt werden oder sich Inhalte ändern.
Konstante | Wert | Beschreibung |
---|---|---|
QComboBox::AdjustToContents | 0 | Die Combobox wird sich immer an den Inhalt anpassen |
QComboBox::AdjustToContentsOnFirstShow | 1 | Die Combobox wird bei der ersten Anzeige an den Inhalt angepasst. |
QComboBox::AdjustToMinimumContentsLengthWithIcon | 2 | Die Combobox wird auf minimumContentsLength plus Platz für ein Icon angepasst. Verwenden Sie diese Richtlinie aus Leistungsgründen bei großen Modellen. |
Eigenschaft Dokumentation
[read-only]
count : const int
Diese Eigenschaft enthält die Anzahl der Elemente in der Combobox.
Bei einem leeren Kombinationsfeld hat diese Eigenschaft standardmäßig den Wert 0.
Zugriffsfunktionen:
int | count() const |
[read-only]
currentData : const QVariant
Diese Eigenschaft enthält die Daten für das aktuelle Element
Standardmäßig enthält diese Eigenschaft für ein leeres Kombinationsfeld oder ein Kombinationsfeld, in dem kein aktuelles Element eingestellt ist, ein ungültiges QVariant.
Zugriffsfunktionen:
QVariant | currentData(int role = Qt::UserRole) const |
currentIndex : int
Diese Eigenschaft enthält den Index des aktuellen Elements in der Combobox.
Der aktuelle Index kann sich beim Einfügen oder Entfernen von Elementen ändern.
Standardmäßig hat diese Eigenschaft bei einem leeren Kombinationsfeld oder einem Kombinationsfeld, in dem kein aktuelles Element gesetzt 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
Wenn das Kombinationsfeld bearbeitbar ist, ist der aktuelle Text der Wert, der durch die Zeilenbearbeitung angezeigt wird. Andernfalls ist es der Wert des aktuellen Elements oder eine leere Zeichenkette, wenn das Kombinationsfeld leer ist oder kein aktuelles Element gesetzt ist.
Der Setter setCurrentText() ruft einfach setEditText() auf, wenn das Kombinationsfeld bearbeitbar ist. Andernfalls, wenn es einen passenden Text in der Liste gibt, wird currentIndex auf den entsprechenden Index gesetzt.
Zugriffsfunktionen:
QString | currentText() const |
void | setCurrentText(const QString &text) |
Benachrichtigungssignal:
void | currentTextChanged(const QString &text) |
Siehe auch editable und setEditText().
duplicatesEnabled : bool
Diese Eigenschaft gibt an, ob der Benutzer doppelte Einträge in die Combobox eingeben kann.
Beachten Sie, dass es immer möglich ist, programmatisch doppelte Einträge in die Combobox einzufügen.
Standardmäßig ist diese Eigenschaft false
(Duplikate sind nicht erlaubt).
Zugriffsfunktionen:
bool | duplicatesEnabled() const |
void | setDuplicatesEnabled(bool enable) |
editable : bool
Diese Eigenschaft gibt an, ob das Kombinationsfeld vom Benutzer bearbeitet werden kann.
Standardmäßig ist diese Eigenschaft false
. Die Auswirkungen der Bearbeitung hängen von der Einfügepolitik ab.
Hinweis: Wenn Sie den Status editable deaktivieren, werden der Validator und die Vervollständigung entfernt.
Zugriffsfunktionen:
bool | isEditable() const |
void | setEditable(bool editable) |
Siehe auch InsertPolicy.
frame : bool
Diese Eigenschaft legt fest, ob das Kombinationsfeld mit einem Rahmen gezeichnet werden soll.
Wenn sie aktiviert ist (Standardeinstellung), zeichnet sich das Kombinationsfeld innerhalb eines Rahmens, andernfalls zeichnet es sich ohne jeden Rahmen.
Zugriffsfunktionen:
bool | hasFrame() const |
void | setFrame(bool) |
iconSize : QSize
Diese Eigenschaft bestimmt die Größe der in der Combobox angezeigten Icons.
Wird sie nicht explizit festgelegt, wird der Standardwert des aktuellen Stils zurückgegeben. Diese Größe ist die maximale Größe, die Icons haben können; Icons mit geringerer Größe werden nicht skaliert.
Zugriffsfunktionen:
QSize | iconSize() const |
void | setIconSize(const QSize &size) |
insertPolicy : InsertPolicy
Diese Eigenschaft enthält die Richtlinie, mit der festgelegt wird, wo die vom Benutzer eingefügten Elemente in der Combobox erscheinen sollen.
Der Standardwert ist InsertAtBottom, was bedeutet, dass neue Elemente am unteren Ende der Liste erscheinen.
Zugriffsfunktionen:
QComboBox::InsertPolicy | insertPolicy() const |
void | setInsertPolicy(QComboBox::InsertPolicy policy) |
Siehe auch InsertPolicy.
maxCount : int
Diese Eigenschaft gibt die maximale Anzahl der Elemente an, die in der Combobox enthalten sein dürfen.
Hinweis: Wenn Sie die maximale Anzahl auf einen Wert setzen, der kleiner ist als die aktuelle Anzahl der Elemente in der Combobox, werden die zusätzlichen Elemente abgeschnitten. Dies gilt auch, wenn Sie ein externes Modell für die Combobox festgelegt haben.
Standardmäßig wird der Wert dieser Eigenschaft von der höchsten verfügbaren Ganzzahl mit Vorzeichen abgeleitet (normalerweise 2147483647).
Zugriffsfunktionen:
int | maxCount() const |
void | setMaxCount(int max) |
maxVisibleItems : int
Diese Eigenschaft enthält die maximal zulässige Größe des Kombinationsfeldes auf dem Bildschirm, gemessen in Elementen
Standardmäßig hat diese Eigenschaft einen Wert von 10.
Hinweis: Diese Eigenschaft wird für nicht editierbare Comboboxen in Stilen ignoriert, die für QStyle::SH_ComboBox_Popup den Wert true zurückgeben, wie z.B. der Mac-Stil oder der Gtk+-Stil.
Zugriffsfunktionen:
int | maxVisibleItems() const |
void | setMaxVisibleItems(int maxItems) |
minimumContentsLength : int
Diese Eigenschaft gibt die Mindestanzahl der Zeichen an, die in die Combobox passen sollen.
Der Standardwert ist 0.
Wenn diese Eigenschaft auf einen positiven Wert gesetzt ist, wird sie von minimumSizeHint() und sizeHint() berücksichtigt.
Zugriffsfunktionen:
int | minimumContentsLength() const |
void | setMinimumContentsLength(int characters) |
Siehe auch sizeAdjustPolicy.
modelColumn : int
Diese Eigenschaft enthält die Spalte im Modell, die sichtbar ist.
Wenn sie vor dem Ausfüllen des Kombinationsfeldes festgelegt wird, bleibt die Popup-Ansicht davon unberührt und zeigt die erste Spalte an (unter Verwendung des Standardwerts dieser Eigenschaft).
Standardmäßig hat diese Eigenschaft einen Wert von 0.
Hinweis: In einer bearbeitbaren Combobox wird die sichtbare Spalte auch die completion column.
Zugriffsfunktionen:
int | modelColumn() const |
void | setModelColumn(int visibleColumn) |
placeholderText : QString
Legt einen placeholderText Text fest, der angezeigt wird, wenn kein gültiger Index eingestellt ist.
Die placeholderText wird angezeigt, wenn ein ungültiger Index eingestellt ist. Der Text ist in der Dropdown-Liste nicht zugänglich. Wenn diese Funktion vor dem Hinzufügen von Elementen aufgerufen wird, wird der Platzhaltertext angezeigt, andernfalls müssen Sie setCurrentIndex(-1) programmatisch aufrufen, wenn Sie den Platzhaltertext anzeigen möchten. Setzen Sie einen leeren Platzhaltertext, um die Einstellung zurückzusetzen.
Wenn die QComboBox editierbar 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 ist AdjustToContentsOnFirstShow.
Zugriffsfunktionen:
QComboBox::SizeAdjustPolicy | sizeAdjustPolicy() const |
void | setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) |
Siehe auch SizeAdjustPolicy.
Dokumentation der Mitgliedsfunktionen
[explicit]
QComboBox::QComboBox(QWidget *parent = nullptr)
Konstruiert eine Combobox mit dem angegebenen parent, wobei das Standardmodell QStandardItemModel verwendet wird.
[virtual noexcept]
QComboBox::~QComboBox()
Zerstört die Combobox.
[signal]
void QComboBox::activated(int index)
Dieses Signal wird gesendet, wenn der Benutzer ein Element in der Combobox auswählt. Es wird die index des Eintrags übergeben. Beachten Sie, dass dieses Signal auch gesendet wird, wenn die Auswahl nicht geändert wird. Wenn Sie wissen müssen, 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 mit der angegebenen text einen Eintrag hinzu, der die angegebene userData (gespeichert in Qt::UserRole) enthält. Der Eintrag wird an die Liste der vorhandenen Einträge angehängt.
void QComboBox::addItem(const QIcon &icon, const QString &text, const QVariant &userData = QVariant())
Fügt der Combobox ein Element mit den angegebenen icon und text hinzu, das das angegebene userData enthält (gespeichert in Qt::UserRole). Der Eintrag wird an die Liste der vorhandenen Einträge angehängt.
void QComboBox::addItems(const QStringList &texts)
Fügt jede der Zeichenketten in der angegebenen texts in die Combobox ein. Jeder Eintrag wird der Reihe nach an die Liste der vorhandenen Einträge angehängt.
[override virtual protected]
void QComboBox::changeEvent(QEvent *e)
Reimplements: QWidget::changeEvent(QEvent *Event).
[slot]
void QComboBox::clear()
Löscht die Combobox und entfernt alle Einträge.
Hinweis: Wenn Sie ein externes Modell für die Combobox festgelegt haben, wird dieses Modell auch beim Aufruf dieser Funktion gelöscht.
[slot]
void QComboBox::clearEditText()
Löscht den Inhalt der Bearbeitungszeile, die für die Bearbeitung in der Combobox verwendet wird.
QCompleter *QComboBox::completer() const
Gibt die Vervollständigung zurück, die für die automatische Vervollständigung der Texteingabe in der Combobox verwendet wird.
Siehe auch setCompleter() und editable.
[override virtual protected]
void QComboBox::contextMenuEvent(QContextMenuEvent *e)
Reimplements: QWidget::contextMenuEvent(QContextMenuEvent *event).
[signal]
void QComboBox::currentIndexChanged(int index)
Dieses Signal wird immer dann gesendet, wenn sich die currentIndex in der Combobox entweder durch Benutzerinteraktion oder programmatisch ändert. Übergeben wird der Wert index oder -1, wenn die Combobox leer ist oder currentIndex zurückgesetzt wurde.
Hinweis: Benachrichtigungssignal für die Eigenschaft currentIndex.
[signal]
void QComboBox::currentTextChanged(const QString &text)
Dieses Signal wird ausgegeben, wenn sich currentText ändert. Der neue Wert wird als text übergeben.
Hinweis: Es wird nicht ausgegeben, wenn currentText gleich bleibt, auch wenn sich currentIndex ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft currentText.
[signal]
void QComboBox::editTextChanged(const QString &text)
Dieses Signal wird ausgegeben, wenn der Text im Zeileneditier-Widget der Combobox geändert wird. Der neue Text wird durch text angegeben.
[override virtual]
bool QComboBox::event(QEvent *event)
Reimplements: 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 das angegebene data für das angegebene role enthält; andernfalls wird -1 zurückgegeben.
Die flags geben an, 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 den angegebenen text enthält; andernfalls wird -1 zurückgegeben.
Die flags geben an, wie die Elemente in der Combobox durchsucht werden.
[override virtual protected]
void QComboBox::focusInEvent(QFocusEvent *e)
Reimplements: QWidget::focusInEvent(QFocusEvent *event).
[override virtual protected]
void QComboBox::focusOutEvent(QFocusEvent *e)
Reimplements: QWidget::focusOutEvent(QFocusEvent *event).
[override virtual protected]
void QComboBox::hideEvent(QHideEvent *e)
Reimplements: QWidget::hideEvent(QHideEvent *event).
[virtual]
void QComboBox::hidePopup()
Blendet die Liste der Elemente in der Combobox aus, wenn sie gerade sichtbar ist, und setzt den internen Status zurück. Wenn also das benutzerdefinierte Popup in 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 Status zurückzusetzen, wenn Ihr benutzerdefiniertes Popup-Widget ausgeblendet wird.
Siehe auch showPopup().
[signal]
void QComboBox::highlighted(int index)
Dieses Signal wird gesendet, wenn ein Element in der Combobox-Popup-Liste vom Benutzer hervorgehoben wird. Es wird die Adresse index des Eintrags übergeben.
[virtual protected]
void QComboBox::initStyleOption(QStyleOptionComboBox *option) const
Initialisieren Sie option mit den Werten aus dieser QComboBox. Diese Methode ist nützlich für Unterklassen, wenn sie eine QStyleOptionComboBox benötigen, aber nicht alle Informationen selbst eingeben wollen.
Siehe auch QStyleOption::initFrom().
[override virtual protected]
void QComboBox::inputMethodEvent(QInputMethodEvent *e)
Reimplements: QWidget::inputMethodEvent(QInputMethodEvent *event).
[override virtual]
QVariant QComboBox::inputMethodQuery(Qt::InputMethodQuery query) const
Reimplements: QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.
void QComboBox::insertItem(int index, const QString &text, const QVariant &userData = QVariant())
Fügt die text und userData (gespeichert in Qt::UserRole) in die Combobox an der angegebenen index ein.
Wenn der Index gleich oder höher ist als die Gesamtzahl der Einträge, wird der neue Eintrag an die Liste der vorhandenen Einträge angehängt. Ist der Index Null oder negativ, wird der neue Eintrag der Liste der vorhandenen Einträge vorangestellt.
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 (gespeichert in Qt::UserRole) in die Combobox an der angegebenen Stelle index ein.
Wenn der Index gleich oder höher ist als die Gesamtzahl der Einträge, wird der neue Eintrag an die Liste der vorhandenen Einträge angehängt. Ist der Index Null oder negativ, wird der neue Eintrag der Liste der vorhandenen Einträge vorangestellt.
Siehe auch insertItems().
void QComboBox::insertItems(int index, const QStringList &list)
Fügt die Zeichenketten aus list als separate Elemente in die Combobox ein, beginnend mit dem angegebenen index.
Ist der Index gleich oder größer als die Gesamtzahl der Einträge, werden die neuen Einträge an die Liste der vorhandenen Einträge angehängt. Ist der Index Null oder negativ, werden die neuen Einträge der Liste der vorhandenen Einträge vorangestellt.
Siehe auch insertItem().
void QComboBox::insertSeparator(int index)
Fügt ein Trennelement in die Combobox an der angegebenen Position index ein.
Ist der Index gleich oder größer als die Gesamtzahl der Elemente, wird das neue Element an die Liste der vorhandenen Elemente angehängt. Ist der Index Null oder negativ, wird der neue Eintrag der Liste der vorhandenen Einträge vorangestellt.
Siehe auch insertItem().
QVariant QComboBox::itemData(int index, int role = Qt::UserRole) const
Gibt die Daten für die angegebene role in der angegebenen index in der Combobox zurück, oder eine ungültige QVariant, wenn es keine Daten für diese Rolle gibt.
Siehe auch setItemData().
QAbstractItemDelegate *QComboBox::itemDelegate() const
Gibt den von der Popup-Listenansicht verwendeten Elementdelegaten 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 das angegebene index in der Combobox zurück.
Siehe auch setItemText().
[override virtual protected]
void QComboBox::keyPressEvent(QKeyEvent *e)
Reimplements: QWidget::keyPressEvent(QKeyEvent *event).
[override virtual protected]
void QComboBox::keyReleaseEvent(QKeyEvent *e)
Reimplements: QWidget::keyReleaseEvent(QKeyEvent *event).
QLineEdit *QComboBox::lineEdit() const
Gibt die Zeilenbearbeitung zurück, die zum Bearbeiten von Elementen in der Combobox verwendet wird, oder nullptr
, wenn es keine Zeilenbearbeitung gibt.
Nur editierbare Comboboxen haben eine Zeilenbearbeitung.
Siehe auch setLineEdit().
[override virtual]
QSize QComboBox::minimumSizeHint() const
Reimplantiert eine Zugriffsfunktion für die Eigenschaft: QWidget::minimumSizeHint.
QAbstractItemModel *QComboBox::model() const
Gibt das von der Combobox verwendete Modell zurück.
Siehe auch setModel().
[override virtual protected]
void QComboBox::mousePressEvent(QMouseEvent *e)
Reimplements: QWidget::mousePressEvent(QMouseEvent *event).
[override virtual protected]
void QComboBox::mouseReleaseEvent(QMouseEvent *e)
Reimplements: QWidget::mouseReleaseEvent(QMouseEvent *event).
[override virtual protected]
void QComboBox::paintEvent(QPaintEvent *e)
Reimplements: QWidget::paintEvent(QPaintEvent *event).
void QComboBox::removeItem(int index)
Entfernt den Eintrag unter der angegebenen Adresse index aus der Combobox. Dabei wird der aktuelle Index aktualisiert, wenn der Index entfernt wird.
Diese Funktion ist wirkungslos, wenn index außerhalb des Bereichs liegt.
[override virtual protected]
void QComboBox::resizeEvent(QResizeEvent *e)
Reimplements: 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, dass completer anstelle des aktuellen Vervollständigers verwendet wird. Wenn completer nullptr
ist, ist die automatische Vervollständigung deaktiviert.
Standardmäßig wird für ein bearbeitbares Kombinationsfeld automatisch eine QCompleter erstellt, die eine Inline-Vervollständigung ohne Berücksichtigung der Groß-/Kleinschreibung durchführt.
Hinweis: Die Vervollständigung wird entfernt, wenn die Eigenschaft editable zu false
wird, oder wenn die Zeilenbearbeitung durch einen Aufruf von setLineEdit() ersetzt wird. Das Setzen einer Vervollständigung für eine QComboBox, die nicht editierbar ist, wird ignoriert.
Siehe auch completer().
[slot]
void QComboBox::setEditText(const QString &text)
Setzt die text in der Textbearbeitung der Combobox.
void QComboBox::setItemData(int index, const QVariant &value, int role = Qt::UserRole)
Setzt die Daten role für den Eintrag auf dem angegebenen index in der Combobox auf den angegebenen value.
Siehe auch itemData().
void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)
Legt das Element delegate für die Popup-Listenansicht fest. Die Combobox wird Eigentümer des Delegaten.
Ein eventuell vorhandener Delegat wird entfernt, aber nicht gelöscht. QComboBox übernimmt nicht das Eigentum an delegate.
Warnung: Sie sollten nicht die gleiche Instanz eines Delegaten zwischen Comboboxen, Widget Mappern oder Ansichten teilen. Dies kann zu falschem oder unintuitivem Editierverhalten führen, da jeder View, der mit einem bestimmten Delegaten verbunden ist, das Signal closeEditor() empfangen kann und versucht, auf einen bereits geschlossenen Editor zuzugreifen, ihn zu ändern oder zu schließen.
Siehe auch itemDelegate().
void QComboBox::setItemIcon(int index, const QIcon &icon)
Setzt die icon für den Eintrag auf der angegebenen index in der Combobox.
Siehe auch itemIcon().
void QComboBox::setItemText(int index, const QString &text)
Setzt die text für den Eintrag auf der angegebenen index in der Combobox.
Siehe auch itemText().
void QComboBox::setLineEdit(QLineEdit *edit)
Legt die Zeile edit fest, die anstelle des aktuellen Zeilenbearbeitungs-Widgets verwendet werden soll.
Die Combobox übernimmt den Besitz der Zeilenbearbeitung.
Hinweis: Da das Zeileneditier-Widget der Combobox Eigentümer von QCompleter ist, hat jeder vorherige Aufruf 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 wollen, rufen Sie clear() auf.
Hinweis: Wenn die Combobox bearbeitbar ist, wird model auch auf den Abschließer der Zeilenbearbeitung gesetzt.
Siehe auch model(), clear(), und setCompleter().
void QComboBox::setRootModelIndex(const QModelIndex &index)
Legt das Root Model Item index für die Items 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, wenn die Eigenschaft editable zu false
wird.
Siehe auch validator().
void QComboBox::setView(QAbstractItemView *itemView)
Setzt die im Popup der Combobox zu verwendende Ansicht auf die angegebene itemView. Die Combobox übernimmt den Besitz der Ansicht.
Hinweis: Wenn Sie die Komfortansichten (wie QListWidget, QTableWidget oder QTreeWidget) verwenden wollen, müssen Sie vor dem Aufruf dieser Funktion setModel() für die Combobox mit dem Modell der Komfortwidgets aufrufen.
Siehe auch view().
[override virtual protected]
void QComboBox::showEvent(QShowEvent *e)
Reimplements: QWidget::showEvent(QShowEvent *event).
[virtual]
void QComboBox::showPopup()
Zeigt die Liste der Elemente in der Combobox an. Wenn die Liste leer ist, werden keine Elemente angezeigt.
Wenn Sie diese Funktion neu implementieren, um ein benutzerdefiniertes Pop-up anzuzeigen, stellen Sie sicher, dass Sie hidePopup() aufrufen, um den internen Status zurückzusetzen.
Siehe auch hidePopup().
[override virtual]
QSize QComboBox::sizeHint() const
Reimplementiert eine Zugriffsfunktion für die Eigenschaft: QWidget::sizeHint.
Diese Implementierung speichert den Größenhinweis, um eine Größenänderung zu vermeiden, wenn sich der Inhalt dynamisch ändert. Um den zwischengespeicherten Wert ungültig zu machen, ändern Sie die sizeAdjustPolicy.
[signal]
void QComboBox::textActivated(const QString &text)
Dieses Signal wird gesendet, wenn der Benutzer ein Element in der Combobox auswählt. Es wird die text des Elements übergeben. Beachten Sie, dass dieses Signal auch gesendet wird, wenn die Auswahl nicht geändert wird. Wenn Sie wissen müssen, wann sich die Auswahl tatsächlich ändert, verwenden Sie das Signal currentIndexChanged() oder currentTextChanged().
[signal]
void QComboBox::textHighlighted(const QString &text)
Dieses Signal wird gesendet, wenn ein Element in der Combobox-Popup-Liste vom Benutzer hervorgehoben wird. Es wird die Adresse text des Eintrags ü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 der Combobox verwendet wird.
Siehe auch setView().
[override virtual protected]
void QComboBox::wheelEvent(QWheelEvent *e)
Reimplements: QWidget::wheelEvent(QWheelEvent *event).
© 2025 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.