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 :

Quel type de list choisir ?


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Octobre 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 24
    Par défaut Quel type de list choisir ?
    Bonjour à tous,

    Ma question va peut être sembler bête; Je souhaite afficher dans une box, une liste avec plusieurs colonnes.
    Juste que là pour tester mon programme j'avais utilisé une Qlistview avec une seule colonne et ça marchait bien.
    A terme j'ai besoin de 3 colonnes, mais je ne vois pas ce qu'il faut utiliser entre le Qlistview, Qtreeview, Qtableview, Qcolumnview, Qlistwidget, Qtreewidget ou Qtablewidget.
    Les seules qui me permettent de mettre plusieurs colonnes dans leurs paramètres sont Qtable et Qtreewidget, mais ça me semble bien complexe juste pour faire une liste multi colonnes.
    Ca doit être tellement simple que je n'ai pas vu d'exemple de ce genre.

    Si, vous pouviez juste m'orienter.

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Manifestement c'est un tableur qu'il te faut.

    Le QTableWidget est un tableau prêt à l'emploi, si tu préfères gérer toi-même ton modèle tu utiliseras le QTableView

    Je te recommande le premier pour commencer.

    Ici tu as un exemple complet d'un tableau de 4 colonnes avec une image dans la première, du texte dans la seconde et des QToolButton dans les deux dernières.
    https://bazaar.launchpad.net/~vincen.../gui/basket.py

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Octobre 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 24
    Par défaut
    Bonjour VinsS,

    Merci pour votre réponse.
    Je vais aller dans ce sens en faisant un tableau.
    Même si en fait, je n'ai besoin que d'une colonne. Les autres sont juste à titre informatif.

    Merci encore.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Octobre 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 24
    Par défaut
    Je suis passé en mode Qtablewidget.
    J'ai l'impression de bien charger les tables car ça ne plante pas. Par contre, rien ne s'affiche dans le tableau.

    La definition de la table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
           # Liste Materiels
            self.liste_matos = QtWidgets.QTableWidget(Gestion_Clients)
            self.liste_matos.setGeometry(QtCore.QRect(320, 60, 256, 192))
            self.liste_matos.setColumnCount(3)
            self.liste_matos.setObjectName("liste_matos")
            self.liste_matos.setRowCount(0)
            item = QtWidgets.QTableWidgetItem()
            self.liste_matos.setHorizontalHeaderItem(0, item)
            item = QtWidgets.QTableWidgetItem()
            self.liste_matos.setHorizontalHeaderItem(1, item)
            item = QtWidgets.QTableWidgetItem()
            self.liste_matos.setHorizontalHeaderItem(2, item)
            self.liste_matos.clicked.connect(self.choix_materiel)
    Le remplissage de l'entête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            item = self.liste_matos.horizontalHeaderItem(0)
            item.setText(_translate("Gestion_Clients", "Nom du materiel"))
            item = self.liste_matos.horizontalHeaderItem(1)
            item.setText(_translate("Gestion_Clients", "Localisation"))
            item = self.liste_matos.horizontalHeaderItem(2)
            item.setText(_translate("Gestion_Clients", "Adresse IP"))

    Le remplissage des lignes et des colonnes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            i = 1
            while i < nb_materiel:
                nom_materiel_liste = tableau_materiels[i][0]
                localisation_materiel_liste = tableau_materiels[i][2]
                adresse_ip_liste = tableau_materiels[i][3]
                item = QtWidgets.QTableWidgetItem(nom_materiel_liste)
                self.liste_matos.setItem(i, 0, item)
                item = QtWidgets.QTableWidgetItem(localisation_materiel_liste)
                self.liste_matos.setItem(i, 1, item)
                item = QtWidgets.QTableWidgetItem(adresse_ip_liste)
                self.liste_matos.setItem(i, 2, item)
                i = i + 1
    Rien ne s'affiche. J'avais fait un test avec self.liste_matos.HorizontalHeader pour voir si ça s'affichait avec ce qui avait été lu dans le tableau et ça marchait.
    Donc, je ne pense pas que cela vienne de la lecture du tableau mais plutôt que j'ai loupé un truc sur l'affichage de la table.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 776
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 776
    Par défaut
    Salut,

    Pour qu'un widget s'affiche, il faut créer un layout et l'y ajouter.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Octobre 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2019
    Messages : 24
    Par défaut
    Bonjour Wiztricks,

    Merci pour ta réponse.
    Effectivement, entre temps j'ai découvert ça.
    Je suis en train de "bricoler" pour comprendre comment ça fonctionne.
    Résultat nul pour le moment :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. quel type de donnée choisir pour simuler le type Currency
    Par maamar1979 dans le forum Débuter
    Réponses: 2
    Dernier message: 18/02/2007, 12h44
  2. Quel type de table choisir pour la création d'un forum
    Par Xunil dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 19/11/2006, 12h40
  3. Quel type de liste choisir ? (Vector, ArrayList, ...)
    Par dinver dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 19/01/2006, 12h09
  4. Quel type d'argument choisir ?
    Par R'SKaP dans le forum C++
    Réponses: 8
    Dernier message: 18/11/2005, 23h59
  5. Quel type de projet choisir pour incorporer directX9...
    Par Coderm@n dans le forum DirectX
    Réponses: 6
    Dernier message: 02/08/2004, 13h24

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