IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Afficher valeur d'un champ dans un QCombobox


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Septembre 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 148
    Par défaut Afficher valeur d'un champ dans un QCombobox
    Bonjour,

    Je voudrais soulever un petit problème qui me tracasse depuis longtemps.
    En résumé, j'utilise dans la saisie des données des combobox. Jusqu’à la tout marche à merveille en affichant le combobox comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
           # Attribut catégorie client
            self.model_categorie = QSqlTableModel(self)
            self.model_categorie.setTable('attribut_categorie')
            self.model_categorie.select()
            self.ui.cb_categorie.setModel(self.model_categorie)
            self.ui.cb_categorie.setModelColumn(self.model_categorie.fieldIndex('categorie_libelle'))
            self.ui.cb_categorie.setCurrentIndex(-1)
            self.ui.cb_categorie.currentIndexChanged.connect(self.setfilter_categorie_fsm)
    Et pour insérer la valeur cachée de l'attribut_categorie dans la table au lieu du libellé j’utilise la fonction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        def setfilter_categorie(self, row):
            self.categorie = self.model_categorie.data(self.model_categorie.index(row, 0, QModelIndex()))
    Mon problème est : lorsque je voudrais modifier l'attribut_categorie je voudrais que la valeur déjà saisie dans la table s'affiche dans le combobox

    Nom : categ.png
Affichages : 201
Taille : 3,1 Ko

    Merci.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par noureddine1967 Voir le message
    Mon problème est : lorsque je voudrais modifier l'attribut_categorie je voudrais que la valeur déjà saisie dans la table s'affiche dans le combobox
    Donc il faut que la combobox soit modifiée quand la table est modifiée.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Septembre 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 148
    Par défaut
    Bonjour,

    Merci pour votre réponse, mais je pense que je me suis mal exprimé,
    la valeur que je voudrais afficher dans le combobox n'est pas de la table attribut_categorie mais celle insérée dans la table clients.

    La modification c'est sur la valeur choisie dans le combobox qui a été insérée dans la table clients.
    Merci.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par noureddine1967 Voir le message
    la valeur que je voudrais afficher dans le combobox n'est pas de la table attribut_categorie mais celle insérée dans la table clients.
    La modification c'est sur la valeur choisie dans le combobox qui a été insérée dans la table clients.
    Ok. Donc c'est dans l'autre sens que ça marche. Quand ton widget contenant le combo s'affiche (showEvent), il commence par lire le contenu de la table clients et crée le ComboBox en conséquence (en présumant donc que la saisie de la table "clients" s'est faite depuis un autre widget)...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Homme Profil pro
    Analyste programmeur
    Inscrit en
    Septembre 2015
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste programmeur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2015
    Messages : 148
    Par défaut
    Bonjour,
    il commence par lire le contenu de la table clients et crée le ComboBox en conséquence (en présumant donc que la saisie de la table "clients" s'est faite depuis un autre widget)...
    Dans ce cas, j'aurai uniquement la valeur dans la table clients qui s'affiche et je n'aurai pas la possibilité de la modifier par une autre valeur qui se trouve au préalable
    dans le combobox attribut_categorie

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par noureddine1967 Voir le message
    Citation Envoyé par noureddine1967 Voir le message
    la valeur que je voudrais afficher dans le combobox n'est pas de la table attribut_categorie mais celle insérée dans la table clients.
    Dans ce cas, j'aurai uniquement la valeur dans la table clients qui s'affiche et je n'aurai pas la possibilité de la modifier par une autre valeur qui se trouve au préalable dans le combobox attribut_categorie
    Alors un coup tu veux afficher les données de la table "client", mais l'instant d'après tu veux aussi celles de la table "attribut_categorie"...

    Quand la fenêtre s'ouvre (showEvent), tu charges les infos venant de la table "client" ET AUSSI celles de la table "attribut_categorie". Ces infos n'étant pas modifiées par la fenêtre en question, le combo n'a alors ensuite pas besoin de bouger.
    Toutefois ça me semble bizarre que des infos de même nature soient prises dans deux tables différentes. Ca traduit là un souci de conception de la bdd qui n'est alors pas en 3FN. Normal alors d'avoir ensuite un souci de gestion de l'IHM chargée de la remplir.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. [MySQL] Comment afficher la valeur d'un champ dans 2 champs ?
    Par geeka dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 13/08/2015, 14h56
  2. Réponses: 4
    Dernier message: 02/07/2015, 11h36
  3. Réponses: 7
    Dernier message: 25/01/2009, 22h50
  4. Changement valeur d'un champ dans une requête
    Par Mimile28 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/04/2005, 14h28
  5. récupérer la valeur du 2ème champ dans un DBLookUpListBox
    Par jakouz dans le forum Bases de données
    Réponses: 3
    Dernier message: 20/07/2004, 16h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo