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 :

TypeError: 'sip.methoddescriptor' object is not callable


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 TypeError: 'sip.methoddescriptor' object is not callable
    Bonjour
    j'ai cette erreur quand j'exécute mon script TypeError: 'sip.methoddescriptor' object is not callable
    j'ai un fichier mainTab.py :
    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
    # -*- coding: utf-8 -*-
     
    import sys
     
    from PyQt4 import QtCore, QtGui
     
    from tabTwo import TabTwo
    from tabThree import TabThree
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s  
    class Ui_MainWindow(object):
        def setupUi(self, MainWindow):
            MainWindow.resize(739, 509)
            MainWindow.setWindowTitle("MainWindow")
            self.centralwidget = QtGui.QWidget(MainWindow)
     
            self.gridLayout = QtGui.QGridLayout(self.centralwidget)
            self.mainTab = QtGui.QTabWidget(self.centralwidget)
     
            self.tab = QtGui.QWidget() 
            self.v_layout = QtGui.QVBoxLayout(self.tab)
            self.sub_tab = TabTwo(self.tab)#
            self.v_layout.addWidget(self.sub_tab)
            self.mainTab.addTab(self.tab, "Tab 1")
     
            self.gridLayout.addWidget(self.mainTab, 0, 0, 1, 1)
            MainWindow.setCentralWidget(self.centralwidget)
     
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        MainWindow = QtGui.QMainWindow()
        ui = Ui_MainWindow()
        ui.setupUi(MainWindow)
        MainWindow.show()
        sys.exit(app.exec_())
    et l'autre fichier tabTwo.py :
    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
    # -*- coding: utf-8 -*-
     
    from PyQt4 import QtCore, QtGui
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s 
    class TabTwo(QtGui.QTabWidget):
        def __init__(self, parent):
            super(TabTwo, self).__init__(parent)
            #self.layout = QtGui.QVBoxLayout(self)
     
            self.page = QtGui.QWidget(parent)
            self.page2 = QtGui.QWidget(parent)
     
            self.addTab(self.page, "sous onglet 1")
     
            self.button = QtGui.QPushButton(self.page)
            self.button.setGeometry(QtCore.QRect(150, 50, 75, 23))
            self.button.setObjectName(_fromUtf8("button"))
            self.button.setText("ok")
            #self.ParcourirButton.clicked.connect(self.maFonction)
     
            #QtCore.QObject.connect(self.ParcourirButton, QtCore.SIGNAL("clicked()"), self.maFonction)
            #self.ParcourirButton.triggered.connect(self.maFonction)
     
            self.ParcourirButton.clicked.connect(self.maFonction)
            #self.ParcourirButton.clicked.connect(MainWindow.maFonction)
     
     
     
        def maFonction(self):
          print "ca marche ! "
    l'objectif c'est d'appeler la méthode :maFonction quand je clique sur le bouton
    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, à mon avis ce n'est pas avec ce code que tu obtiens cette erreur.

    A part le fait que le bouton s'appelle button et pas ParcourirButton, ça fonctionne correctement.

    Une petite question, c'est QtCreator qui ajoute ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s
    ?

    est-ce pour une question de compatibilité ?

  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
    oui tu as raison
    c'était ca l'erreur ,
    pour le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try:
        _fromUtf8 = QtCore.QString.fromUtf8
    except AttributeError:
        _fromUtf8 = lambda s: s
    oui c'est Qt Creator qui le génère
    dans le code qui genere on trouve des lignes comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.action_nom.setObjectName(_fromUtf8("nomdumenu"))
    je pense que c'est pour ca,
    peut être aussi pour autre chose la compatibilité par exemple ... j'ai cherché mais aucune explication concernant ce sujet


    merci

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

Discussions similaires

  1. [THREAD] TypeError: NoneType' object is not callable
    Par flolebreton dans le forum Général Python
    Réponses: 2
    Dernier message: 24/06/2013, 14h49
  2. erreur : 'int' object is not callable
    Par aschreck dans le forum Général Python
    Réponses: 2
    Dernier message: 06/04/2012, 15h36
  3. object is not callable
    Par rezguiinfo dans le forum Général Python
    Réponses: 6
    Dernier message: 30/01/2011, 13h43
  4. "'int' object is not callable"
    Par dingoth dans le forum Général Python
    Réponses: 2
    Dernier message: 22/12/2010, 17h38
  5. TypeError: 'file' object is not callable
    Par MariemEA dans le forum Général Python
    Réponses: 7
    Dernier message: 09/07/2010, 21h57

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