J'appelle actuellement un proc stocké dans Oracle pour remplir un QComboBox en PYQT. Les données apparaissent comme ceci:Puis-je utiliser une chaîne comme index dans un QComboBox?
code: 'PAY_COMP' Description: Société de paiement '
code: 'USER_COMP' Description: Société de l'utilisateur'
Je veux montrer la description dans la combobox mais vous voulez utiliser le code comme index, est-ce possible? La raison en est, lorsque l'utilisateur sélectionne 'Payment Company', je veux envoyer 'PAY_COMP' au backend pour être mis à jour.
Ou existe-t-il une autre façon de l'implémenter?
Merci pour la réponse très détaillée, avec votre aide j'ai pu obtenir ce travail. Merci encore! – Goldglv
De plus, pas sûr si je ceci correctement, quand à l'intérieur comboChanged, obtenir des résultats bizarres: #Weight pour l'indice dans la gamme (rowCount): \t combo = QtWidgets.QComboBox() combo.currentIndexChanged.connect (self.comboChanged) pour t comboBoxWeight: \t combo.addItem (t [0], QVariant (t [1])) self.tableWidgetCode.setCellWidget (index, 0, combo) – Goldglv
Ok, avait une question. Maintenant que j'ai pu configurer les combobox avec un 'code' et une 'description', une fois que j'ai récupéré les données de la procédure, j'ai besoin de mettre les données dans la rangée appropriée. Donc, si j'obtiens les données 'PAY_COMP' renvoyées par le proc, comment puis-je le paramétrer dans la table de la liste déroulante pour afficher 'Payment Company'? Je suppose que j'ai besoin d'utiliser quelque chose comme: self.tableWidgetCode.cellWidget (0,0) .setItemData (ligne) mais je ne peux pas le faire fonctionner ... @user – Goldglv