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 :

Impossible de lire les infobulles dans un QTableWidget [QtGui]


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 2
    Par défaut Impossible de lire les infobulles dans un QTableWidget
    Bonjour,

    J'ai un QTableWidget qui contient du texte.
    Je donne un tooltip à chaque élément du tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    newitem = QTableWidgetItem()     
    newitem.setToolTip(str(fichiers[i]))
    form.tableWidgetFichiers.setItem(1,i,newitem)
    Par contre, il m'est impossible d'aller ensuite récupérer les tooltips. J'obtiens une exception lorsque j'exécute le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (tableWidgetFichiers.item(1,1)):
        print str(tableWidgetFichiers.item(1,1).tooltip())
    Quelqu'un peut m'aider ?
    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,

    Pas de problème chez moi.

    Essaye ce code, si le problème persiste, copie ici le message d'erreur exact et ta version de PyQt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    # -*- coding: utf-8 -*-
     
    from PyQt4 import QtCore, QtGui
     
    class Ui_Form(object):
        def setupUi(self, Form):
            Form.resize(271, 162)
            self.gridLayout = QtGui.QGridLayout(Form)
            self.table = QtGui.QTableWidget(Form)
            self.table.setRowCount(3)
            self.table.setColumnCount(2)
            self.gridLayout.addWidget(self.table, 0, 0, 1, 1)
            item = QtGui.QTableWidgetItem()
            item.setText("Alpha")
            item.setToolTip("Alpha")
            self.table.setItem(0, 0, item)
            self.table.cellClicked.connect(self.on_click)
     
        def on_click(self, r, c):
            i = self.table.item(0, 0)
            print "item: %s, tip: %s" %(i, i.toolTip())
     
     
    if __name__ == "__main__":
        import sys
        app = QtGui.QApplication(sys.argv)
        Form = QtGui.QWidget()
        ui = Ui_Form()
        ui.setupUi(Form)
        Form.show()
        sys.exit(app.exec_())

  3. #3
    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,

    Pas de problème pour moi.

    Voilà mon petit code de test (Python 3.4, PyQt4):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # Python 3
     
    import sys
    from functools import partial
    from PyQt4 import QtCore, QtGui
     
    #############################################################################
    class Fenetre(QtGui.QWidget):
     
        # =======================================================================
        def __init__(self, parent=None):
            super(Fenetre, self).__init__(parent)
     
            self.resize(800, 600)
     
            self.tableWidget = QtGui.QTableWidget(self)
     
            # dimension 7x7
            self.nbrow, self.nbcol = 7, 7
            self.tableWidget.setRowCount(self.nbrow)
            self.tableWidget.setColumnCount(self.nbcol)
     
            # initialiser la case 3,3 avec un QTableWidgetItem
            self.tableWidget.setItem(3, 3, QtGui.QTableWidgetItem())
     
            # mettre un tooltip dans la case 3,3
            item = self.tableWidget.item(3, 3)
            item.setToolTip("toto")
     
            # lire et afficher le tootip de la case 3,3
            item2 = self.tableWidget.item(3, 3)
            QtGui.QMessageBox.information(self,
                "Message du tooltip de la case 3,3",
                item2.toolTip())
     
            # positionner le QTableWidget dans la fenêtre
            posit = QtGui.QGridLayout()
            posit.addWidget(self.tableWidget, 0, 0)
            self.setLayout(posit)
     
            # la 1ère case sélectionnée est la 0,0
            self.tableWidget.setFocus()
            self.tableWidget.setCurrentCell(0, 0)
     
    #############################################################################
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        fen = Fenetre()
        fen.show()
        sys.exit(app.exec_())

  4. #4
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2015
    Messages : 2
    Par défaut
    Merci pour vos réponses.

    J'ai finalement trouvé la cause de l'erreur: les conventions de majuscules de l'interface.
    En effet, on utilise:
    setToolTip
    et
    toolTip

    Je n'ai plus qu'à me trouver un meilleur éditeur avec une autosuggestion qui fonctionne vraiment...

    Autant pour moi.
    Bonne fin de journée.

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

Discussions similaires

  1. [Wamp] Impossible de lire les fichiers php dans le répertoire www de localhost
    Par eddflo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 28/01/2009, 00h39
  2. Impossible de lire les CHM (Fichiers HTML compilés)
    Par beslam dans le forum Windows XP
    Réponses: 10
    Dernier message: 30/11/2006, 13h02
  3. Réponses: 6
    Dernier message: 19/06/2006, 10h43
  4. lire les indexes dans une stringGrid
    Par zidenne dans le forum Composants VCL
    Réponses: 1
    Dernier message: 01/12/2005, 15h15
  5. Impossible de lire les enregistrements
    Par Bowen dans le forum ASP
    Réponses: 2
    Dernier message: 04/08/2005, 11h33

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