Vous n'êtes pas identifié(e).
Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.0 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4
Pages : 1
Bonjour à tous,
j'aurais souhaité savoir si lorsqu'on ajoute des items a une comboBox avec la commande :
Nom_combo.addItems(Item_a_ajouter)
il était possible que la valeur d'un item soit différent de son affichage.
exemple : je souhaite que dans la liste déroulante apparaisse "enfant" "adolescent" et "adulte" mais que les valeurs soient codées au moment ou on récupère le choix de l'utilisateur : 1,2 et 3.
merci
Léa
Hors ligne
En natif je ne pense pas mais si tu fais une QMap genre:
Ensuite au moment du choix tu récupères le vrai text :
C'est un exemple rapide, d'autres solutions existent
EDIT :
Apres si tu veux juste récupérer 1 pour enfant, 2 pour adolescent, 3 pour adulte,
avec le currentIndex() + 1 (car démarre à 0) tu l'as directement
Avant il était roms18, mais ça c'était avant.
It is impossible to make anything foolproof because fools are so ingenious (Murphy's law).
Hors ligne
Bonjour !
Une QComboBox stocke 3 valeurs dans chaque ligne : une icône, un texte, et une valeur quelconque (itemData, un QVariant), voire plusieurs si tu définis plusieurs rôles.
Pour chaque entrée, fais un setItemData (.....), que tu récupères ensuite. Au lieu de itemtext (index) tu lis itemData (index).
En ligne
Et ben là, je suis complètement passé à côté.
Je croyais qu'il y avait des itemData que sur les classes d'item (QTableWidgetItem, QStandardItem, QListWidgetItem) mais pas sur les widgets conteneurs.
Et bien j'ai aussi appris quelque chose que je n'aurai même pas cherché dans la doc.
@PapaJaac : merci
@LeaB : prend la solution de PapaJaac
Avant il était roms18, mais ça c'était avant.
It is impossible to make anything foolproof because fools are so ingenious (Murphy's law).
Hors ligne
Salut à vous deux,
merci beaucoup de vouloir m'aider.
Voici le code du coup que j'ai tenté :
Je souhaiterais que dans ma liste aparaissent affichage1, affichage2 et affichage3 et que selon le choix la valeur mise dans la table soit val1, val2 ou val3.
Ca ne marche pas (la valeur mise est affichageX), sauriez-vous pourquoi?
désolée je débute 
merci
Léa
Hors ligne
Bonjour,
Je ne suis pas sûr d'avoir compris, mais au cas où, voilà un petit code d'essai qui affiche un message en correspondance avec le choix fait sur le combobox:
Hors ligne
Je souhaiterais que dans ma liste aparaissent affichage1, affichage2 et affichage3
Ça, c'est bon en principe non ?
et que selon le choix
le choix de qui, où, quand, mis dans quelle variable ?
la valeur mise dans la table soit val1, val2 ou val3.
de quelle table parles-tu ?
Y'a des fois, je me demande vraiment... 
Léa, est-ce que tu es bien consciente qu'on ne voit pas ton écran et qu'on ne lit pas dans tes pensées ??
En ligne
Salut,
merci d'essayer de m'aider.
A priori je ne me suis pas faite bien comprendre...
J'ai fait un formulaire sous Qt qui est ensuite utilisé sous QGIS. Le formulaire s'affiche lorsque l'utilisateur saisie une nouvelle entité et permet de lui faire saisir les attributs relatifs à cette nouvelle entité.
Dans ce formulaire j'ai entre autre des QComboBox qui me permettent d'afficher des listes déroulantes à l'utilisateur, celui-ci choisit donc la valeur de l'attribut au sein de la liste.
Les attributs sont gardés automatiquement dans une table sous QGIS : la table attributaire.
Pour l'instant les listes déroulants des QCombobox s'affichent bien et la valeur choisi par l'utilisateur est ensuite inscrite dans la table.
Ce que je souhaiterait c'est que la valeur rentrée dans la table soit différente de celle affichée à l'utilisateur pour qu'il choisisse. Cela me permettrai par exemple que à l'affichage de mon formulaire les valeurs proposées dans les listes déroulantes (des QCombobox) contiennent des accents mais que au moment ou la table attributaire est remplie je programme de façon a ce que soit gardé la chaine des caractères sans accents.
Léa
Hors ligne
Bonjour Léa
pour les plugins dans QGIS , voici comment je pratique
comme l'a dit PapaJaac, "Une QComboBox stocke 3 valeurs dans chaque ligne : une icône, un texte, et une valeur quelconque (itemData, un QVariant), voire plusieurs si tu définis plusieurs rôles"
Construction de la liste déroulante :
Récupération de l'identifiant_base correspondant à la valeur sélectionnée dans le combo
En gros je récupère l'itemdata correspondant à l'index de QComboBox (identifié par ui.exploitationBox.currentIndex() dans mon cas)
Il y a peut être plus élégant, mais je suis un débutant de quelques jours seulement ;-)
bonne journée
Hors ligne
Bonjour postfred.
À lire en premier !
Sans la liberté de blâmer, il n'est point d'éloge flatteur; et qu'il n'y a que les petits hommes qui redoutent les petits écrits !!!
- Beaumarchais -
Hors ligne
Merci PostFred!!
Hors ligne
Pages : 1
| Liens interne à QtFR | Les partenaires de QtFR | Liens pour les sites officiels Qt | Liens sur les ressources Qt |
|---|---|---|---|
| Communauté QtFR sur Google+ | Monkey Studio | Télécharger Qt | Notre tutoriel |
| QtFR sur Twitter | ZeGrapher | Site officiel Qt | Documentation Qt |
| IRC box | Qt Blog | Qt Centre | |
| Galeries | Qt Wiki | Qt Apps | |
| Contactez-nous | Qt Quarterly |