Sur cette page

QComboBox Class

Le widget QComboBox combine un bouton avec une liste déroulante. Plus...

En-tête : #include <QComboBox>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite : QWidget
Hérité par :

QFontComboBox

Types publics

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

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

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

Emplacements publics

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

Signaux

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)

Fonctions protégées

virtual void initStyleOption(QStyleOptionComboBox *option) const

Fonctions protégées réimplémentées

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

Description détaillée

Boîte à liste déroulante avec liste d'options réduite

QCombobox réduit

Boîte combinée avec liste d'options étendue

Boîte de combinaison QC élargie

Caractéristiques d'affichage

Une QComboBox est un moyen compact de présenter une liste d'options à l'utilisateur.

Une combobox est un widget de sélection qui affiche l'élément courant et fait apparaître une liste d'éléments sélectionnables lorsqu'on clique dessus. Les comboboxes peuvent contenir des pixmaps ainsi que des chaînes de caractères si les fonctions insertItem() et setItemText() sont surchargées de manière appropriée.

Fonctions d'édition

Une boîte combinée peut être éditable, ce qui permet à l'utilisateur de modifier chaque élément de la liste. Pour les comboboxes éditables, la fonction clearEditText() est fournie pour effacer la chaîne affichée sans modifier le contenu de la comboboxe.

Lorsque l'utilisateur saisit une nouvelle chaîne dans une combobox éditable, le widget peut l'insérer ou non, et il peut l'insérer à plusieurs endroits. La politique par défaut est InsertAtBottom, mais vous pouvez la modifier en utilisant setInsertPolicy().

Il est possible de limiter la saisie à une boîte combinée éditable en utilisant QValidator; voir setValidator(). Par défaut, toute entrée est acceptée.

Une boîte combinée peut être remplie à l'aide des fonctions d'insertion, insertItem() et insertItems() par exemple. Les éléments peuvent être modifiés avec setItemText(). Un élément peut être supprimé avec removeItem() et tous les éléments peuvent être supprimés avec clear(). Le texte de l'élément courant est renvoyé par currentText(), et le texte d'un élément numéroté est renvoyé par text(). L'élément courant peut être défini avec setCurrentIndex(). Le nombre d'éléments dans la boîte combobox est renvoyé par count() ; le nombre maximum d'éléments peut être défini avec setMaxCount(). Vous pouvez autoriser l'édition en utilisant setEditable(). Pour les comboboxes éditables, vous pouvez définir l'auto-complétion en utilisant setCompleter() et la possibilité pour l'utilisateur d'ajouter ou non des doublons est définie avec setDuplicatesEnabled().

Signaux

Trois signaux sont émis lorsque l'élément courant d'une boîte combobox change : currentIndexChanged(), currentTextChanged() et activated(). currentIndexChanged Les signaux () et currentTextChanged() sont toujours émis, que le changement ait été effectué par programme ou par l'utilisateur, tandis que le signal activated() n'est émis que lorsque le changement est dû à l'interaction de l'utilisateur. Le signal highlighted() est émis lorsque l'utilisateur met en évidence un élément dans la liste déroulante du combobox. Les trois signaux existent en deux versions, l'une avec un argument QString et l'autre avec un argument int. Si l'utilisateur sélectionne ou met en évidence une pixmap, seuls les signaux int sont émis. Lorsque le texte d'une boîte combobox modifiable est modifié, le signal editTextChanged() est émis.

Cadre modèle/vue

QComboBox utilise le cadre modèle/vue pour sa liste déroulante et pour stocker ses éléments. Par défaut, une classe QStandardItemModel stocke les éléments et une sous-classe QListView affiche la liste déroulante. Vous pouvez accéder au modèle et à la vue directement (avec model() et view()), mais QComboBox fournit également des fonctions pour définir et obtenir des données sur les éléments, par exemple, setItemData() et itemText(). Vous pouvez également définir un nouveau modèle et une nouvelle vue (avec setModel() et setView()). Pour le texte et l'icône de l'étiquette de la boîte combinée, les données du modèle qui a les adresses Qt::DisplayRole et Qt::DecorationRole sont utilisées.

Note : Vous ne pouvez pas modifier le SelectionMode du view(), par exemple en utilisant le setSelectionMode().

Voir aussi QLineEdit, QSpinBox, QRadioButton, et QButtonGroup.

Documentation sur les types de membres

enum QComboBox::InsertPolicy

Cette énumération spécifie ce que QComboBox doit faire lorsqu'une nouvelle chaîne de caractères est saisie par l'utilisateur.

ConstanteValeurDescription
QComboBox::NoInsert0La chaîne n'est pas insérée dans le combobox.
QComboBox::InsertAtTop1La chaîne sera insérée en tant que premier élément de la boîte combinée.
QComboBox::InsertAtCurrent2L'élément actuel sera remplacé par la chaîne.
QComboBox::InsertAtBottom3La chaîne sera insérée après le dernier élément de la boîte combinée.
QComboBox::InsertAfterCurrent4La chaîne est insérée après l'élément actuel de la boîte combinée.
QComboBox::InsertBeforeCurrent5La chaîne est insérée avant l'élément actuel de la boîte combinée.
QComboBox::InsertAlphabetically6La chaîne est insérée dans l'ordre alphabétique dans la boîte combinée.

[since 6.9] enum class QComboBox::LabelDrawingMode

Cette énumération spécifie comment la boîte combobox dessine son étiquette.

ConstanteValeurDescription
QComboBox::LabelDrawingMode::UseStyle0La combobox utilise style pour dessiner son étiquette.
QComboBox::LabelDrawingMode::UseDelegate1La combobox utilise item delegate pour dessiner son étiquette. Définissez un délégué d'élément approprié lorsque vous utilisez ce mode.

Cette liste a été introduite dans Qt 6.9.

Voir également labelDrawingMode et l'exemple des livres.

enum QComboBox::SizeAdjustPolicy

Cette énumération spécifie comment l'indice de taille du site QComboBox doit s'ajuster lorsque du nouveau contenu est ajouté ou que le contenu est modifié.

ConstanteValeurDescription
QComboBox::AdjustToContents0Le combobox s'adapte toujours à son contenu
QComboBox::AdjustToContentsOnFirstShow1Le combobox s'adaptera à son contenu la première fois qu'il sera affiché.
QComboBox::AdjustToMinimumContentsLengthWithIcon2La boîte combinée s'ajuste à minimumContentsLength plus l'espace pour une icône. Pour des raisons de performance, utilisez cette stratégie sur les modèles de grande taille.

Documentation sur les propriétés

[read-only] count : int

Cette propriété indique le nombre d'éléments de la boîte combo.

Par défaut, pour une liste déroulante vide, cette propriété a une valeur de 0.

Fonctions d'accès :

int count() const

[read-only] currentData : QVariant

Cette propriété contient les données de l'élément courant

Par défaut, pour une liste déroulante vide ou une liste déroulante dans laquelle aucun élément courant n'est défini, cette propriété contient une adresse invalide QVariant.

Fonctions d'accès :

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

currentIndex : int

Cette propriété contient l'index de l'élément courant dans le combobox.

L'index courant peut changer lors de l'insertion ou de la suppression d'éléments.

Par défaut, pour une combo box vide ou une combo box dans laquelle aucun élément courant n'est défini, cette propriété a une valeur de -1.

Fonctions d'accès :

int currentIndex() const
void setCurrentIndex(int index)

Signal du notificateur :

void currentIndexChanged(int index)

currentText : QString

Cette propriété contient le texte courant

Si la liste déroulante est éditable, le texte courant est la valeur affichée par la ligne d'édition. Sinon, il s'agit de la valeur de l'élément courant ou d'une chaîne vide si la liste déroulante est vide ou si aucun élément courant n'est défini.

La fonction setter setCurrentText() appelle simplement setEditText() si la liste déroulante est modifiable. Sinon, s'il existe un texte correspondant dans la liste, currentIndex est mis à l'index correspondant.

Fonctions d'accès :

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

Signal du notificateur :

void currentTextChanged(const QString &text)

Voir aussi editable et setEditText().

duplicatesEnabled : bool

Cette propriété indique si l'utilisateur peut saisir des éléments en double dans la boîte combobox.

Notez qu'il est toujours possible d'insérer par programme des éléments en double dans la liste déroulante.

Par défaut, cette propriété est false (les doublons ne sont pas autorisés).

Fonctions d'accès :

bool duplicatesEnabled() const
void setDuplicatesEnabled(bool enable)

editable : bool

Cette propriété indique si la liste déroulante peut être modifiée par l'utilisateur.

Par défaut, cette propriété est false. L'effet de l'édition dépend de la politique d'insertion.

Remarque : lorsque l'état editable est désactivé, le validateur et le compléteur sont supprimés.

Fonctions d'accès :

bool isEditable() const
void setEditable(bool editable)

Voir également InsertPolicy.

frame : bool

Cette propriété indique si la liste déroulante se dessine avec un cadre.

Si elle est activée (par défaut), la liste déroulante se dessine à l'intérieur d'un cadre, sinon elle se dessine sans cadre.

Fonctions d'accès :

bool hasFrame() const
void setFrame(bool)

iconSize : QSize

Cette propriété définit la taille des icônes affichées dans la boîte combobox.

Si elle n'est pas explicitement définie, elle renvoie la valeur par défaut du style actuel. Cette taille est la taille maximale que les icônes peuvent avoir ; les icônes de taille inférieure ne sont pas mises à l'échelle.

Fonctions d'accès :

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

insertPolicy : InsertPolicy

Cette propriété définit la politique utilisée pour déterminer l'emplacement des éléments insérés par l'utilisateur dans le combobox.

La valeur par défaut est InsertAtBottom, ce qui signifie que les nouveaux éléments apparaîtront au bas de la liste des éléments.

Fonctions d'accès :

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

Voir également InsertPolicy.

[since 6.9] labelDrawingMode : LabelDrawingMode

Cette propriété contient le mode utilisé par la boîte combobox pour dessiner son étiquette.

La valeur par défaut est UseStyle. Lorsque vous modifiez cette propriété pour la remplacer par UseDelegate, veillez à définir également une valeur appropriée pour item delegate. Le délégué par défaut dépend du style et peut ne pas convenir pour dessiner l'étiquette.

Cette propriété a été introduite dans Qt 6.9.

Fonctions d'accès :

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

Voir aussi l 'exemple des livres.

maxCount : int

Cette propriété indique le nombre maximum d'éléments autorisés dans la boîte combobox.

Remarque : Si le nombre maximal est inférieur au nombre actuel d'éléments dans la boîte combobox, les éléments supplémentaires seront tronqués. Ceci s'applique également si vous avez défini un modèle externe pour la boîte combobox.

Par défaut, la valeur de cette propriété est dérivée de l'entier signé le plus élevé disponible (généralement 2147483647).

Fonctions d'accès :

int maxCount() const
void setMaxCount(int max)

maxVisibleItems : int

Cette propriété définit la taille maximale autorisée à l'écran de la liste déroulante, mesurée en nombre d'éléments

Par défaut, cette propriété a une valeur de 10.

Note : Cette propriété est ignorée pour les comboboxes non éditables dans les styles qui renvoient true pour QStyle::SH_ComboBox_Popup tels que le style Mac ou le style Gtk+.

Fonctions d'accès :

int maxVisibleItems() const
void setMaxVisibleItems(int maxItems)

minimumContentsLength : int

Cette propriété indique le nombre minimum de caractères que doit contenir la boîte combobox.

La valeur par défaut est 0.

Si cette propriété a une valeur positive, les fonctions minimumSizeHint() et sizeHint() en tiennent compte.

Fonctions d'accès :

int minimumContentsLength() const
void setMinimumContentsLength(int characters)

Voir aussi sizeAdjustPolicy.

modelColumn : int

Cette propriété indique la colonne du modèle qui est visible.

Si elle est définie avant le remplissage de la liste déroulante, la vue contextuelle ne sera pas affectée et affichera la première colonne (en utilisant la valeur par défaut de cette propriété).

Par défaut, cette propriété a une valeur de 0.

Remarque : dans une boîte combinée modifiable, la colonne visible devient également la colonne completion column.

Fonctions d'accès :

int modelColumn() const
void setModelColumn(int visibleColumn)

placeholderText : QString

Définit un texte placeholderText affiché lorsqu'aucun index valide n'est défini.

Le texte placeholderText sera affiché lorsqu'un index non valide est défini. Le texte n'est pas accessible dans la liste déroulante. Lorsque cette fonction est appelée avant l'ajout d'éléments, le texte d'insertion est affiché. Dans le cas contraire, vous devez appeler setCurrentIndex(-1) par programme si vous souhaitez afficher le texte d'insertion. Définissez un texte d'insertion vide pour réinitialiser le paramètre.

Lorsque le site QComboBox est modifiable, utilisez QLineEdit::setPlaceholderText() à la place.

Fonctions d'accès :

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

sizeAdjustPolicy : SizeAdjustPolicy

Cette propriété contient la politique décrivant comment la taille du combobox change lorsque le contenu change.

La valeur par défaut est AdjustToContentsOnFirstShow.

Fonctions d'accès :

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

Voir également SizeAdjustPolicy.

Documentation sur les fonctions membres

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

Construit une combobox avec la donnée parent, en utilisant le modèle par défaut QStandardItemModel.

[virtual noexcept] QComboBox::~QComboBox()

Détruit le combobox.

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

Ce signal est envoyé lorsque l'utilisateur choisit un élément dans le combobox. L'adresse index de l'élément est transmise. Notez que ce signal est envoyé même si le choix n'est pas modifié. Si vous avez besoin de savoir quand le choix change réellement, utilisez le signal currentIndexChanged() ou currentTextChanged().

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

Ajoute un élément à la boîte combobox avec l'adresse text donnée et contenant l'adresse userData spécifiée (stockée dans l'adresse Qt::UserRole). L'élément est ajouté à la liste des éléments existants.

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

Ajoute un élément à la boîte combobox avec les adresses icon et text données, et contenant l'adresse userData spécifiée (stockée dans l'adresse Qt::UserRole). L'élément est ajouté à la liste des éléments existants.

void QComboBox::addItems(const QStringList &texts)

Ajoute chacune des chaînes de caractères de l'adresse texts à la boîte combobox. Chaque élément est ajouté à la liste des éléments existants à tour de rôle.

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

Réimplémente : QWidget::changeEvent(QEvent *event).

[slot] void QComboBox::clear()

Efface le combobox, en supprimant tous les éléments.

Remarque : si vous avez défini un modèle externe pour le combobox, ce modèle sera toujours effacé lors de l'appel de cette fonction.

[slot] void QComboBox::clearEditText()

Efface le contenu de l'édition de ligne utilisée pour l'édition dans la boîte combinée.

QCompleter *QComboBox::completer() const

Renvoie le compléteur utilisé pour compléter automatiquement le texte saisi dans la boîte combobox.

Voir aussi setCompleter() et editable.

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

Réimplémente : QWidget::contextMenuEvent(QContextMenuEvent *event).

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

Ce signal est envoyé chaque fois que l'adresse currentIndex de la boîte combobox change, que ce soit par l'interaction de l'utilisateur ou par programmation. L'adresse index de l'élément est transmise ou -1 si la boîte combobox devient vide ou si l'adresse currentIndex a été réinitialisée.

Note : Signal de notification pour la propriété currentIndex.

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

Ce signal est émis lorsque currentText est modifié. La nouvelle valeur est transmise en tant que text.

Remarque : ce signal n'est pas émis si currentText reste inchangé, même si currentIndex change.

Note : Signal de notification pour la propriété currentText.

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

Ce signal est émis lorsque le texte du widget d'édition de ligne du combobox est modifié. Le nouveau texte est spécifié par text.

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

Réimplémente : 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

Renvoie l'index de l'élément contenant l'adresse data donnée pour l'adresse role donnée ; sinon, renvoie -1.

Les flags spécifient comment les éléments de la boîte combobox sont recherchés.

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

Renvoie l'index de l'élément contenant l'adresse text donnée ; sinon, renvoie -1.

Les flags spécifient comment les éléments du combobox sont recherchés.

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

Réimplémente : QWidget::focusInEvent(QFocusEvent *event).

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

Réimplémente : QWidget::focusOutEvent(QFocusEvent *event).

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

Réimplémente : QWidget::hideEvent(QHideEvent *event).

[virtual] void QComboBox::hidePopup()

Cache la liste des éléments du combobox s'il est actuellement visible et réinitialise l'état interne, de sorte que si la fenêtre contextuelle personnalisée a été affichée à l'intérieur de la fonction réimplémentée showPopup(), vous devez également réimplémenter la fonction hidePopup() pour cacher votre fenêtre contextuelle personnalisée et appeler l'implémentation de la classe de base pour réinitialiser l'état interne à chaque fois que votre widget de fenêtre contextuelle personnalisée est caché.

Voir également showPopup().

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

Ce signal est envoyé lorsqu'un élément de la liste déroulante du combobox est mis en évidence par l'utilisateur. L'adresse index de l'élément est transmise.

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

Initialiser option avec les valeurs de QComboBox. Cette méthode est utile pour les sous-classes qui ont besoin d'un QStyleOptionComboBox, mais qui ne veulent pas remplir toutes les informations elles-mêmes.

Voir aussi QStyleOption::initFrom().

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

Réimplémente : QWidget::inputMethodEvent(QInputMethodEvent *event).

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

Réimplémente : QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

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

Insère les éléments text et userData (stockés dans Qt::UserRole) dans le combobox à l'adresse index.

Si l'indice est égal ou supérieur au nombre total d'éléments, le nouvel élément est ajouté à la liste des éléments existants. Si l'indice est nul ou négatif, le nouvel élément est ajouté à la liste des éléments existants.

Voir également insertItems().

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

Insère les éléments icon, text et userData (stockés dans Qt::UserRole) dans le combobox à l'adresse index.

Si l'indice est égal ou supérieur au nombre total d'éléments, le nouvel élément est ajouté à la liste des éléments existants. Si l'index est nul ou négatif, le nouvel élément est ajouté à la liste des éléments existants.

Voir également insertItems().

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

Insère les chaînes de caractères du site list dans la boîte combobox en tant qu'éléments distincts, en commençant par le site index spécifié.

Si l'indice est égal ou supérieur au nombre total d'éléments, les nouveaux éléments sont ajoutés à la liste des éléments existants. Si l'indice est nul ou négatif, les nouveaux éléments sont ajoutés à la liste des éléments existants.

Voir également insertItem().

void QComboBox::insertSeparator(int index)

Insère un élément séparateur dans le combobox à l'adresse index.

Si l'indice est égal ou supérieur au nombre total d'éléments, le nouvel élément est ajouté à la liste des éléments existants. Si l'index est nul ou négatif, le nouvel élément est ajouté à la liste des éléments existants.

Voir également insertItem().

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

Renvoie les données relatives à l'adresse role dans l'adresse index dans le combobox, ou une adresse QVariant invalide s'il n'y a pas de données pour ce rôle.

Voir aussi setItemData().

QAbstractItemDelegate *QComboBox::itemDelegate() const

Renvoie le délégué de l'élément utilisé par la vue en liste déroulante.

Voir également setItemDelegate().

QIcon QComboBox::itemIcon(int index) const

Renvoie l'icône correspondant à l'adresse index dans le combobox.

Voir aussi setItemIcon().

QString QComboBox::itemText(int index) const

Renvoie le texte de l'adresse index dans la boîte combobox.

Voir aussi setItemText().

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

Réimplémente : QWidget::keyPressEvent(QKeyEvent *event).

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

Réimplémente : QWidget::keyReleaseEvent(QKeyEvent *event).

QLineEdit *QComboBox::lineEdit() const

Renvoie l'édition de ligne utilisée pour éditer les éléments de la boîte combinée, ou nullptr s'il n'y a pas d'édition de ligne.

Seules les combo-boxes éditables ont une ligne d'édition.

Voir aussi setLineEdit().

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

Réimplémente une fonction d'accès à la propriété : QWidget::minimumSizeHint.

QAbstractItemModel *QComboBox::model() const

Renvoie le modèle utilisé par la boîte combobox.

Voir aussi setModel().

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

Réimplémente : QWidget::mousePressEvent(QMouseEvent *event).

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

Réimplémente : QWidget::mouseReleaseEvent(QMouseEvent *event).

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

Réimplémente : QWidget::paintEvent(QPaintEvent *event).

void QComboBox::removeItem(int index)

Supprime de la boîte combobox l'élément situé à l'adresse index. L'index actuel sera mis à jour si l'index est supprimé.

Cette fonction ne fait rien si index est hors de portée.

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

Réimplémente : QWidget::resizeEvent(QResizeEvent *event).

QModelIndex QComboBox::rootModelIndex() const

Renvoie l'indice de l'élément du modèle racine pour les éléments de la boîte combinée.

Voir également setRootModelIndex().

void QComboBox::setCompleter(QCompleter *completer)

Définit le completer à utiliser à la place du compléteur actuel. Si completer est nullptr, l'auto-complétion est désactivée.

Par défaut, pour une liste déroulante éditable, un QCompleter qui effectue une complétion en ligne insensible à la casse est automatiquement créé.

Remarque : le compléteur est supprimé lorsque la propriété editable devient false, ou lorsque l'édition de ligne est remplacée par un appel à setLineEdit(). La définition d'une complétion sur un site QComboBox qui n'est pas modifiable sera ignorée.

Voir aussi completer().

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

Définit l'adresse text dans l'édition de texte de la boîte combobox.

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

Définit les données role pour l'élément sur index donné dans le combobox à value spécifié.

Voir aussi itemData().

void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)

Définit l'élément delegate pour la liste déroulante. Le combobox devient propriétaire du délégué.

Tout délégué existant sera supprimé, mais pas effacé. QComboBox n'est pas propriétaire de delegate.

Attention : Vous ne devez pas partager la même instance d'un délégué entre les comboboxes, les cartographes de widgets ou les vues. En effet, chaque vue connectée à un délégué donné peut recevoir le signal closeEditor() et tenter d'accéder, de modifier ou de fermer un éditeur qui a déjà été fermé.

Voir également itemDelegate().

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

Définit l'adresse icon pour l'élément sur l'adresse index donnée dans le combobox.

Voir aussi itemIcon().

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

Définit l'adresse text pour l'élément sur l'adresse index donnée dans le combobox.

Voir aussi itemText().

void QComboBox::setLineEdit(QLineEdit *edit)

Définit la ligne edit à utiliser à la place du widget d'édition de ligne actuel.

La boîte combo devient propriétaire de l'édition de ligne.

Note : Puisque l'édition de ligne de la combobox possède la ligne QCompleter, tout appel antérieur à setCompleter() n'aura plus d'effet.

Voir aussi lineEdit().

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

Définit le modèle comme étant model. model ne doit pas être nullptr. Si vous souhaitez effacer le contenu d'un modèle, appelez clear().

Remarque : si la boîte combobox est modifiable, l'adresse model sera également définie à la fin de l'édition de la ligne.

Voir également model(), clear() et setCompleter().

void QComboBox::setRootModelIndex(const QModelIndex &index)

Définit l'élément du modèle racine index pour les éléments de la boîte combinée.

Voir également rootModelIndex().

void QComboBox::setValidator(const QValidator *validator)

Définit le validator à utiliser à la place du validateur actuel.

Remarque : Le validateur est supprimé lorsque la propriété editable devient false.

Voir aussi validator().

void QComboBox::setView(QAbstractItemView *itemView)

Définit la vue à utiliser dans la fenêtre contextuelle du combobox à l'adresse itemView. Le combobox est propriétaire de la vue.

Note : Si vous voulez utiliser les vues de commodité (comme QListWidget, QTableWidget ou QTreeWidget), assurez-vous d'appeler setModel() sur la combobox avec le modèle de widgets de commodité avant d'appeler cette fonction.

Voir aussi view().

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

Réimplémente : QWidget::showEvent(QShowEvent *event).

[virtual] void QComboBox::showPopup()

Affiche la liste des éléments du combobox. Si la liste est vide, aucun élément ne sera affiché.

Si vous réimplémentez cette fonction pour afficher une fenêtre contextuelle personnalisée, assurez-vous d'appeler hidePopup() pour réinitialiser l'état interne.

Voir aussi hidePopup().

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

Réimplémente une fonction d'accès à la propriété : QWidget::sizeHint.

Cette implémentation met en cache l'indice de taille pour éviter le redimensionnement lorsque le contenu change dynamiquement. Pour invalider la valeur mise en cache, il convient de modifier l'adresse sizeAdjustPolicy.

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

Ce signal est envoyé lorsque l'utilisateur choisit un élément dans le combobox. L'adresse text de l'élément est transmise. Notez que ce signal est envoyé même si le choix n'est pas modifié. Si vous avez besoin de savoir quand le choix change réellement, utilisez le signal currentIndexChanged() ou currentTextChanged().

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

Ce signal est envoyé lorsqu'un élément de la liste déroulante du combobox est mis en évidence par l'utilisateur. L'adresse text de l'élément est transmise.

const QValidator *QComboBox::validator() const

Renvoie le validateur utilisé pour contraindre la saisie de texte dans la boîte combobox.

Voir aussi setValidator() et editable.

QAbstractItemView *QComboBox::view() const

Renvoie la vue de la liste utilisée pour la fenêtre contextuelle du combobox.

Voir aussi setView().

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

Réimplémente : 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.