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 :

Numéroter les lignes d'un tableau [QtGui]


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut Numéroter les lignes d'un tableau
    Bonjour
    j'ai mon tableau de n_ligne qui varie et n_colonne fixe
    j'aimerais bien numéroter ses lignes , j'ai fais le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nb=0
    while nb<n_ligne:
        item = QtGui.QTableWidgetItem()
        self.table.setVerticalHeaderItem(nb, item)
      self.table.verticalHeaderItem(nb).setText(QtGui.QApplication.translate("Fenetre", nb, None, QtGui.QApplication.UnicodeUTF8))
    et j'ai cette erreur :
    TypeError: function takes exactly 5 arguments (1 given)

  2. #2
    Membre expérimenté

    Profil pro
    Développeur Java
    Inscrit en
    Mars 2010
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 87
    Par défaut
    Bonjour,
    il me semble que QtGui.QTableWidgetItem demande plus que "0" arguments à la construction cf. la documentation de PyQt http://www.riverbankcomputing.co.uk/...idgetitem.html.
    Tu peux aussi te reporter à ce Thread.

    Cordialement,

    Olivier.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    merci
    j'arrive à le faire quand je connais le nombre de ligne du tableau mais là, le problème ce que les lignes dépend de l'utilisateur
    même souci , si il s'agit de récupérer les valeurs des cellules
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a=self.tableWidget.item(1,1)
            print a.data(0).toString()
    on peut plus mettre item(1,1) , item(1,2) etc car on connait pas on a combien de ligne
    et si on met item(nb,1) ca fonctionne plus
    je vais regarder les liens que tu as postulé

  4. #4
    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
    Citation Envoyé par nancy maman Voir le message
    Bonjour
    j'ai mon tableau de n_ligne qui varie et n_colonne fixe
    j'aimerais bien numéroter ses lignes
    ? Les lignes sont numérotées par défaut. Si tu ne veux pas voir apparaître cette numérotation, c'est à ce moment là que tu devras ajouter du code.

    Pour connaître le nombre de lignes de ton tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nb = self.table.count()

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    Hi VinsS,
    oui mais pour afficher les numéros , il ajouter le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.table.verticalHeaderItem(0).setText(QtGui.QApplication.translate("fen", "1", None, QtGui.QApplication.UnicodeUTF8))
    self.table.verticalHeaderItem(1).setText(QtGui.QApplication.translate("fen", "2", None, QtGui.QApplication.UnicodeUTF8))
            self.table.verticalHeaderItem(2).setText(QtGui.QApplication.translate("fen", "3", None, QtGui.QApplication.UnicodeUTF8))
    ca affiche comme dans l'image attaché (un tableau qui est composé de 3 lignes et deux colonnes)
    le problème si on connait pas le nombre de ligne à afficher (dans ce cas on a un message d'erreur)
    par exemple ce code : ici on fixe le nombre de colonne et le nombre de ligne=n_ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    nb=0
    while nb<n_ligne:
        item = QtGui.QTableWidgetItem()
        self.table.setVerticalHeaderItem(nb, item)
      self.table.verticalHeaderItem(nb).setText(QtGui.QApplication.translate("Fenetre", nb, None, QtGui.QApplication.UnicodeUTF8
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nb = self.table.count()
    pour compter le nombre de ligne et j'ai eu ce message d'erreur :
    TypeError: 'sip.methoddescriptor' object is not callable
    Images attachées Images attachées  

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Essaie plutôt .rowCount()

    Tyrtamos

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    oui rowCount() marche très bien
    merci
    tu sais pas pour mon problème de verticalHeaderItem() (décrit dans mon message ci-dessus )
    il prend en paramètre que des entiers ?!

  8. #8
    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
    Au temps pour moi, c'est évidemment rowCount() pour les lignes.

    Pour le verticalHeaderItem() tu peux bien sur utiliser une variable,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    self.table.verticalHeaderItem(nb).setText(nb)
    Mais je rappelle que les lignes sont déjà numérotées par défaut, ou alors je n'ai pas compris ce que tu veux faire. Pas impossible non plus ça.

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

Discussions similaires

  1. [WD-2003] numéroter les lignes d'un tableau au format 001
    Par lefredo25 dans le forum VBA Word
    Réponses: 2
    Dernier message: 15/04/2009, 22h36
  2. [Tableaux] lien sur les lignes d'un tableau
    Par einsteineuzzz dans le forum Langage
    Réponses: 2
    Dernier message: 19/06/2006, 14h16
  3. changement de couleur sur les lignes d'un tableau
    Par brasco06 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 13/04/2006, 18h03
  4. [TRichEdit] Comment numéroter les lignes ?
    Par ARDILLER dans le forum Composants VCL
    Réponses: 1
    Dernier message: 27/03/2006, 15h43
  5. Espacement entre les ligne d'un tableau
    Par Flobel dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 02/11/2004, 09h33

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