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 : |
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
QCombobox réduit |
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.
| Constante | Valeur | Description |
|---|---|---|
QComboBox::NoInsert | 0 | La chaîne n'est pas insérée dans le combobox. |
QComboBox::InsertAtTop | 1 | La chaîne sera insérée en tant que premier élément de la boîte combinée. |
QComboBox::InsertAtCurrent | 2 | L'élément actuel sera remplacé par la chaîne. |
QComboBox::InsertAtBottom | 3 | La chaîne sera insérée après le dernier élément de la boîte combinée. |
QComboBox::InsertAfterCurrent | 4 | La chaîne est insérée après l'élément actuel de la boîte combinée. |
QComboBox::InsertBeforeCurrent | 5 | La chaîne est insérée avant l'élément actuel de la boîte combinée. |
QComboBox::InsertAlphabetically | 6 | La 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.
| Constante | Valeur | Description |
|---|---|---|
QComboBox::LabelDrawingMode::UseStyle | 0 | La combobox utilise style pour dessiner son étiquette. |
QComboBox::LabelDrawingMode::UseDelegate | 1 | La 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é.
| Constante | Valeur | Description |
|---|---|---|
QComboBox::AdjustToContents | 0 | Le combobox s'adapte toujours à son contenu |
QComboBox::AdjustToContentsOnFirstShow | 1 | Le combobox s'adaptera à son contenu la première fois qu'il sera affiché. |
QComboBox::AdjustToMinimumContentsLengthWithIcon | 2 | La 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.

