Sur cette page

QComboBox Class

Le widget QComboBox associe un bouton à une liste déroulante. En savoir 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 de : 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

Slots 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

Zone de liste déroulante avec liste d'options réduite

QCombobox repliée

Liste déroulante avec liste d'options étendue

QCombobox déployée

Fonctionnalités d'affichage

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

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

Fonctionnalités d’édition

Une liste déroulante peut être modifiable, ce qui permet à l’utilisateur de modifier chaque élément de la liste. Pour les listes déroulantes modifiables, la fonction clearEditText() est fournie afin d’effacer la chaîne affichée sans modifier le contenu de la liste déroulante.

Lorsque l’utilisateur saisit une nouvelle chaîne dans une liste déroulante modifiable, le widget peut choisir de l’insérer ou non, et il peut l’insérer à plusieurs emplacements. Le comportement par défaut est InsertAtBottom, mais vous pouvez le modifier à l’aide de setInsertPolicy().

Il est possible de restreindre la saisie dans une liste déroulante modifiable à l’aide de ` QValidator` ; voir ` setValidator()`. Par défaut, toute saisie est acceptée.

Une liste déroulante peut être remplie à l’aide des fonctions d’insertion, par exemple insertItem() et insertItems(). Les éléments peuvent être modifiés à l’aide de setItemText(). Un élément peut être supprimé à l’aide de removeItem() et tous les éléments peuvent être supprimés à l’aide de clear(). Le texte de l’élément actuel est renvoyé par currentText(), et le texte d’un élément numéroté est renvoyé par text(). L’élément actuel peut être défini à l’aide de setCurrentIndex(). Le nombre d’éléments de la liste déroulante est renvoyé par count(); le nombre maximal d’éléments peut être défini à l’aide de setMaxCount(). Vous pouvez autoriser la modification à l’aide de setEditable(). Pour les listes déroulantes modifiables, vous pouvez activer la saisie semi-automatique à l’aide de setCompleter() et déterminer si l’utilisateur peut ou non ajouter des doublons à l’aide de setDuplicatesEnabled().

Signaux

Trois signaux sont émis lorsque l’élément actif d’une liste déroulante change : currentIndexChanged(), currentTextChanged() et activated(). Les signaux currentIndexChanged() et currentTextChanged() sont toujours émis, que la modification ait été effectuée par programmation ou par l’interaction de l’utilisateur, tandis que le signal activated() n’est émis que lorsque la modification est provoquée par l’interaction de l’utilisateur. Le signal highlighted() est émis lorsque l’utilisateur met en surbrillance un élément dans la liste contextuelle de la liste déroulante. Ces 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 surbrillance une image (pixmap), seuls les signaux « int » sont émis. Chaque fois que le texte d’une liste déroulante modifiable est modifié, le signal « editTextChanged() » est émis.

Architecture modèle/vue

QComboBox utilise l’architecture modèle/vue pour sa liste déroulante et pour stocker ses éléments. Par défaut, un objet ` QStandardItemModel ` stocke les éléments et une sous-classe de ` QListView ` affiche la liste déroulante. Vous pouvez accéder directement au modèle et à la vue (via model() et view()), mais QComboBox fournit également des fonctions permettant de définir et de récupérer les données des éléments, par exemple setItemData() et itemText(). Vous pouvez également définir un nouveau modèle et une nouvelle vue (à l’aide de setModel() et setView()). Pour le texte et l’icône de l’étiquette de la liste déroulante, les données du modèle associées aux propriétés Qt::DisplayRole et Qt::DecorationRole sont utilisées.

Remarque : vous ne pouvez pas modifier l’ SelectionMode de la méthode view(), par exemple en utilisant setSelectionMode().

Voir également QLineEdit, QSpinBox, QRadioButton et QButtonGroup.

Documentation sur les types de membres

enum QComboBox::InsertPolicy

Cette énumération définit le comportement de l'QComboBox e lorsqu'une nouvelle chaîne de caractères est saisie par l'utilisateur.

ConstanteValeurDescription
QComboBox::NoInsert0La chaîne ne sera pas insérée dans la liste déroulante.
QComboBox::InsertAtTop1La chaîne sera insérée en tant que premier élément de la liste déroulante.
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 liste déroulante.
QComboBox::InsertAfterCurrent4La chaîne est insérée après l'élément actuel de la liste déroulante.
QComboBox::InsertBeforeCurrent5La chaîne est insérée avant l'élément actuel de la liste déroulante.
QComboBox::InsertAlphabetically6La chaîne est insérée dans la liste déroulante selon l'ordre alphabétique.

[since 6.9] enum class QComboBox::LabelDrawingMode

Cette énumération définit la manière dont la liste déroulante affiche son libellé.

ConstanteValeurDescription
QComboBox::LabelDrawingMode::UseStyle0La liste déroulante utilise l'style pour afficher son libellé.
QComboBox::LabelDrawingMode::UseDelegate1La liste déroulante utilise l'item delegate pour afficher le libellé. Définissez un délégué d'élément approprié lorsque vous utilisez ce mode.

Cette énumération a été introduite dans Qt 6.9.

Voir également « labelDrawingMode » et l'exemple « Books ».

enum QComboBox::SizeAdjustPolicy

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

ConstanteValeurDescription
QComboBox::AdjustToContents0La liste déroulante s'adaptera toujours à son contenu
QComboBox::AdjustToContentsOnFirstShow1La liste déroulante s'adaptera à son contenu lors de son premier affichage.
QComboBox::AdjustToMinimumContentsLengthWithIcon2La liste déroulante s'adaptera à la valeur « minimumContentsLength » en ajoutant un espace pour une icône. Pour des raisons de performances, utilisez cette règle sur les modèles volumineux.

Documentation sur les propriétés

[read-only] count : int

Cette propriété indique le nombre d'éléments contenus dans la liste déroulante.

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

Fonctions d'accès :

int count() const

[read-only] currentData : QVariant

Cette propriété contient les données relatives à l'élément actuel

Par défaut, pour une liste déroulante vide ou pour laquelle aucun élément n'est sélectionné, cette propriété contient une valeur non valide QVariant.

Fonctions d'accès :

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

currentIndex : int

Cette propriété contient l'index de l'élément actuel dans la liste déroulante.

L'index actuel peut changer lors de l'ajout ou de la suppression d'éléments.

Par défaut, pour une liste déroulante vide ou dans laquelle aucun élément n'est sélectionné, cette propriété a la valeur -1.

Fonctions d'accès :

int currentIndex() const
void setCurrentIndex(int index)

Signal de notification :

void currentIndexChanged(int index)

currentText : QString

Cette propriété contient le texte actuel

Si la liste déroulante est modifiable, le texte actuel correspond à la valeur affichée dans le champ de saisie. Sinon, il s'agit de la valeur de l'élément actuel ou d'une chaîne vide si la liste déroulante est vide ou si aucun élément n'est sélectionné.

La méthode setCurrentText() appelle simplement la méthode setEditText() si la liste déroulante est modifiable. Sinon, s’il existe un texte correspondant dans la liste, currentIndex est défini sur l’index correspondant.

Fonctions d’accès :

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

Signal de notification :

void currentTextChanged(const QString &text)

Voir également editable et setEditText().

duplicatesEnabled : bool

Cette propriété détermine si l'utilisateur peut saisir des éléments en double dans la liste déroulante.

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

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

Fonctions d'accès :

bool duplicatesEnabled() const
void setDuplicatesEnabled(bool enable)

editable : bool

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

Par défaut, cette propriété est définie sur « false ». L'effet de la modification 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é détermine si la liste déroulante s'affiche avec ou sans cadre.

Si cette propriété est activée (valeur par défaut), la liste déroulante s'affiche à l'intérieur d'un cadre ; dans le cas contraire, elle s'affiche 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 liste déroulante.

À moins d'être explicitement définie, cette propriété renvoie la valeur par défaut du style actuel. Cette taille correspond à la taille maximale que peuvent avoir les icônes ; les icônes de taille inférieure ne sont pas agrandies.

Fonctions d'accès :

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

insertPolicy : InsertPolicy

Cette propriété définit la règle permettant de déterminer à quel endroit les éléments ajoutés par l'utilisateur doivent apparaître dans la liste déroulante.

La valeur par défaut est « InsertAtBottom », ce qui indique que les nouveaux éléments apparaîtront en 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é définit le mode utilisé par la liste déroulante pour afficher son libellé.

La valeur par défaut est « UseStyle ». Lorsque vous modifiez cette propriété pour « UseDelegate », veillez à définir également un délégué approprié : « item delegate ». Le délégué par défaut dépend du style et peut ne pas convenir au dessin de l'étiquette.

Cette énumération a été introduite dans Qt 6.9.

Fonctions d’accès :

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

Voir également l’exemple Books.

maxCount : int

Cette propriété définit le nombre maximal d'éléments autorisés dans la liste déroulante.

Remarque : si vous définissez un nombre maximal inférieur au nombre actuel d'éléments dans la liste déroulante, les éléments supplémentaires seront tronqués. Cela s'applique également si vous avez défini un modèle externe pour la liste déroulante.

Par défaut, la valeur de cette propriété est dérivée du plus grand entier signé 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 éléments

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

Remarque : cette propriété est ignorée pour les listes déroulantes non modifiables dans les styles qui renvoient « true » pour la propriété « 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é définit le nombre minimum de caractères devant tenir dans la liste déroulante.

La valeur par défaut est 0.

Si cette propriété est définie sur une valeur positive, les méthodes minimumSizeHint() et sizeHint() en tiennent compte.

Fonctions d'accès :

int minimumContentsLength() const
void setMinimumContentsLength(int characters)

Voir également sizeAdjustPolicy.

modelColumn : int

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

Si elle est définie avant le remplissage de la liste déroulante, la vue contextuelle n'en 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 la valeur 0.

Remarque : dans une liste déroulante modifiable, la colonne visible devient également la colonne d'completion column.

Fonctions d’accès :

int modelColumn() const
void setModelColumn(int visibleColumn)

placeholderText : QString

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

Le texte d'placeholderText sera affiché lorsqu'un index invalide est défini. Ce texte n'est pas accessible dans la liste déroulante. Lorsque cette fonction est appelée avant l'ajout d'éléments, le texte de remplacement s'affiche ; sinon, vous devez appeler setCurrentIndex(-1) par programmation si vous souhaitez afficher le texte de remplacement. Définissez un texte de remplacement vide pour réinitialiser le paramètre.

Lorsque l’ QComboBox est modifiable, utilisez plutôt QLineEdit::setPlaceholderText().

Fonctions d’accès :

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

sizeAdjustPolicy : SizeAdjustPolicy

Cette propriété contient la règle décrivant comment la taille de la liste déroulante évolue lorsque son 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)

Crée une liste déroulante à partir de l'parent fourni, en utilisant le modèle par défaut QStandardItemModel.

[virtual noexcept] QComboBox::~QComboBox()

Supprime la liste déroulante.

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

Ce signal est émis lorsque l'utilisateur sélectionne un élément dans la liste déroulante. L'index s de l'élément est transmise. Notez que ce signal est émis même lorsque la sélection n'a pas changé. Si vous souhaitez savoir quand la sélection change réellement, utilisez le signal currentIndexChanged() ou currentTextChanged().

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

Ajoute un élément à la liste déroulante avec l'text, et contenant l'userData spécifiée (stockée dans Qt::UserRole). L'élément est ajouté à la fin de la liste des éléments existants.

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

Ajoute un élément à la liste déroulante avec les valeurs « icon » et « text » indiquées, et contenant la valeur « userData » spécifiée (stockée dans « Qt::UserRole »). L'élément est ajouté à la fin de la liste des éléments existants.

void QComboBox::addItems(const QStringList &texts)

Ajoute chacune des chaînes contenues dans l'texts ion fournie à la liste déroulante. Chaque élément est ajouté à la liste des éléments existants, les uns après les autres.

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

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

[slot] void QComboBox::clear()

Efface la liste déroulante en supprimant tous les éléments.

Remarque : si vous avez défini un modèle externe pour la liste déroulante, ce modèle sera tout de même effacé lors de l'appel de cette fonction.

[slot] void QComboBox::clearEditText()

Efface le contenu de la zone de saisie utilisée pour la modification dans la liste déroulante.

QCompleter *QComboBox::completer() const

Renvoie le composant de saisie semi-automatique utilisé pour compléter automatiquement le texte saisi dans la liste déroulante.

Voir également 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 émis chaque fois que l'currentIndex, dans la liste déroulante, change, que ce soit à la suite d'une interaction de l'utilisateur ou par programmation. L'index de l'élément est transmise, ou la valeur -1 si la liste déroulante se retrouve vide ou si l'currentIndex a été réinitialisée.

Remarque : signalde notification pour la propriété currentIndex.

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

Ce signal est émis chaque fois que la valeur de ` currentText ` change. La nouvelle valeur est transmise sous la forme ` text`.

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

Remarque : signalde notification pour la propriété currentText.

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

Ce signal est émis lorsque le texte du widget de saisie de la liste déroulante 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'data donné pour l'role donné ; sinon, renvoie -1.

Les flags spécifient la manière dont la recherche s'effectue parmi les éléments de la liste déroulante.

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

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

Les flags spécifient comment les éléments de la liste déroulante 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()

Masque la liste des éléments de la liste déroulante si celle-ci est actuellement visible et réinitialise l'état interne, de sorte que si la fenêtre contextuelle personnalisée a été affichée dans la méthode showPopup() réimplémentée, vous devez également réimplémenter la fonction hidePopup() pour masquer votre fenêtre contextuelle personnalisée et appeler l'implémentation de la classe parente afin de réinitialiser l'état interne chaque fois que votre widget de fenêtre contextuelle personnalisé est masqué.

Voir également showPopup().

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

Ce signal est émis lorsqu'un élément de la liste déroulante de la liste combinée est sélectionné par l'utilisateur. L'index e de cet élément est transmise.

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

Initialisez ` option ` avec les valeurs fournies à l'adresse suivante : QComboBox. Cette méthode est utile pour les sous-classes qui ont besoin d'un ` QStyleOptionComboBox`, mais ne souhaitent pas renseigner elles-mêmes toutes les informations.

Voir également 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` (requête `Qt::InputMethodQuery` de type `const`).

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

Insère les éléments text et userData (stockés dans le fichier Qt::UserRole) dans la liste déroulante située à l'adresse index.

Si l’index est égal ou supérieur au nombre total d’éléments, le nouvel élément est ajouté à la fin de la liste des éléments existants. Si l’index est égal à zéro ou négatif, le nouvel élément est ajouté au début de 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 le fichier Qt::UserRole) dans la liste déroulante située à l'adresse index.

Si l'index est égal ou supérieur au nombre total d'éléments, le nouvel élément est ajouté à la fin de la liste des éléments existants. Si l'index est égal à zéro ou négatif, le nouvel élément est ajouté au début de 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 provenant de l'list dans la liste déroulante sous forme d'éléments distincts, en commençant à l'index spécifiée.

Si l'index est égal ou supérieur au nombre total d'éléments, les nouveaux éléments sont ajoutés à la fin de la liste des éléments existants. Si l'index est égal à zéro ou négatif, les nouveaux éléments sont ajoutés au début de la liste des éléments existants.

Voir aussi insertItem().

void QComboBox::insertSeparator(int index)

Insère un élément séparateur dans la liste déroulante à l'index indiquée.

Si l'index est égal ou supérieur au nombre total d'éléments, le nouvel élément est ajouté à la fin de la liste des éléments existants. Si l'index est égal à zéro ou négatif, le nouvel élément est ajouté au début de 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'role spécifié dans l'index indiquée dans la liste déroulante, ou une QVariant non valide s'il n'existe aucune donnée pour ce rôle.

Voir également setItemData().

QAbstractItemDelegate *QComboBox::itemDelegate() const

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

Voir aussi setItemDelegate().

QIcon QComboBox::itemIcon(int index) const

Renvoie l'icône correspondant à l'index donné dans la liste déroulante.

Voir aussi setItemIcon().

QString QComboBox::itemText(int index) const

Renvoie le texte correspondant à l'index ion indiquée dans la liste déroulante.

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 le champ de saisie utilisé pour modifier les éléments de la liste déroulante, ou la valeur « nullptr » s'il n'y a pas de champ de saisie.

Seules les listes déroulantes modifiables disposent d'un champ de saisie.

Voir aussi setLineEdit().

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

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

QAbstractItemModel *QComboBox::model() const

Renvoie le modèle utilisé par la liste déroulante.

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 liste déroulante l'élément situé à l'index indiquée. Cette opération mettra à jour l'index actuel si celui-ci est supprimé.

Cette fonction ne fait rien si l'index e est hors de la plage autorisée.

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

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

QModelIndex QComboBox::rootModelIndex() const

Renvoie l'index de l'élément racine du modèle pour les éléments de la liste déroulante.

Voir également setRootModelIndex().

void QComboBox::setCompleter(QCompleter *completer)

Définit l'completer à utiliser à la place de l' actuel. Si completer est nullptr, la saisie semi-automatique est désactivée.

Par défaut, pour une liste déroulante modifiable, un « QCompleter » effectuant une complétion en ligne sans distinction de casse est automatiquement créé.

Remarque : le module de complétion est supprimé lorsque la propriété editable prend la valeur false, ou lorsque le champ de saisie est remplacé par un appel à setLineEdit(). La définition d’un module de complétion sur un QComboBox non modifiable sera ignorée.

Voir également completer().

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

Définit l'text e dans le champ de saisie de texte de la liste déroulante.

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

Définit l’ role de données de l’élément situé à l’ index indiquée dans la liste déroulante sur l’ value spécifiée.

Voir aussi itemData().

void QComboBox::setItemDelegate(QAbstractItemDelegate *delegate)

Définit l'élément delegate pour la vue de liste contextuelle. La liste déroulante prend en charge le délégué.

Tout délégué existant sera supprimé, mais pas effacé. ` QComboBox ` ne prend pas possession de ` delegate`.

Avertissement : vous ne devez pas partager la même instance d’un délégué entre des listes déroulantes, des mappeurs de widgets ou des vues. Cela pourrait entraîner un comportement d’édition incorrect ou contre-intuitif, car 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 la propriété « icon » de l'élément situé à l'index indiquée dans la liste déroulante.

Voir également itemIcon().

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

Définit la propriété « text » de l'élément situé à l'index spécifiée dans la liste déroulante.

Voir aussi itemText().

void QComboBox::setLineEdit(QLineEdit *edit)

Définit la zone de saisie « line edit » à utiliser à la place du widget de saisie de ligne actuel.

La liste déroulante prend en charge le champ de saisie.

Remarque : comme le champ de saisie de la liste déroulante gère l'QCompleter, tout appel antérieur à la fonction setCompleter() n'aura plus aucun effet.

Voir également ` lineEdit()`.

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

Définit le modèle sur « model ». « model » ne doit pas être « nullptr ». Si vous souhaitez effacer le contenu d'un modèle, appelez la fonction « clear() ».

Remarque : si la liste déroulante est modifiable, la valeur « model » sera également définie sur le composant de complétion de la zone de saisie.

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

void QComboBox::setRootModelIndex(const QModelIndex &index)

Définit l'élément de modèle racine index pour les éléments de la liste déroulante.

Voir également rootModelIndex().

void QComboBox::setValidator(const QValidator *validator)

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

Remarque : le validateur est supprimé lorsque la propriété editable prend la valeur false.

Voir également validator().

void QComboBox::setView(QAbstractItemView *itemView)

Définit la vue à utiliser dans la fenêtre contextuelle de la liste déroulante sur la vue spécifiée itemView. La liste déroulante prend en charge la vue.

Remarque : si vous souhaitez utiliser les vues prédéfinies (telles que QListWidget, QTableWidget ou QTreeWidget), veillez à appeler la méthode setModel() sur la liste déroulante avec le modèle de widgets prédéfini avant d’appeler cette fonction.

Voir également 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 de la liste déroulante. Si la liste est vide, aucun élément ne s'affichera.

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

Voir également hidePopup().

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

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

Cette implémentation met en cache l'indication de taille afin d'éviter tout redimensionnement lorsque le contenu change de manière dynamique. Pour invalider la valeur mise en cache, modifiez la propriété sizeAdjustPolicy.

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

Ce signal est émis lorsque l'utilisateur sélectionne un élément dans la liste déroulante. L'text s de cet élément est transmise. Notez que ce signal est émis même si le choix n'a pas changé. Si vous souhaitez savoir à quel moment le choix change réellement, utilisez le signal currentIndexChanged() ou currentTextChanged().

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

Ce signal est émis lorsqu'un élément de la liste déroulante d'une liste combinée est sélectionné par l'utilisateur. L'text e de cet élément est transmise.

const QValidator *QComboBox::validator() const

Renvoie le validateur utilisé pour valider la saisie de texte dans la liste déroulante.

Voir également setValidator() et editable.

QAbstractItemView *QComboBox::view() const

Renvoie la vue de liste utilisée pour la fenêtre contextuelle de la liste déroulante.

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.