2017-08-26 1 views
-1

J'ai essayé de résoudre ce bug pendant deux heures et j'ai recherché tous les forums possibles avant de me tourner vers l'affichage d'un sujet ici.Le nom global PyQt '...' n'est pas défini

L'erreur qui se produit est conforme 38

self.statusBar().showMessage(inputt) 

Toute aide serait grandement appréciée :)

#!/usr/bin/python 
# -*- coding: utf-8 -*- 

""" 
ZetCode PyQt4 tutorial 

In this example, we determine the event sender 
object. 

author: Jan Bodnar 
website: zetcode.com 
last edited: October 2011 
""" 

import sys 
from PySide import QtGui, QtCore 


class Example(QtGui.QMainWindow): 
    def __init__(self): 
     super(Example, self).__init__() 

     self.initUI() 

    def initUI(self): 
     btn1 = QtGui.QPushButton("Button 1", self) 
     btn1.move(30, 50) 
     btn1.clicked.connect(self.buttonClicked) 


     inputt = QtGui.QLineEdit(self) 

     self.statusBar() 
     self.setGeometry(300, 300, 290, 150) 
     self.show() 

    def buttonClicked(self): 
     self.statusBar().showMessage(inputt) 


def main(): 
    app = QtGui.QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 


if __name__ == '__main__': 
    main() 
+2

Pensez-vous vraiment que quelqu'un est intéressé à compter vos lignes? –

+0

qu'est-ce que c'est global? – eyllanesc

+1

S'il vous plaît modifier votre question après avoir lu http://stackoverflow.com/help/mcve – chepner

Répondre

0

Ceci est un problème de portée, vous avez défini usernameEdit et passwordEdit à initui mais vous les appellent dans une autre méthode.

Vous devriez les modifier comme attributs de la classe pour pouvoir les utiliser partout:

self.usernameEdit = QtGui.QLineEdit() 
self.passwordEdit = QtGui.QLineEdit() 

et vous pouvez les appeler avec la méthode .text() pour obtenir le texte d'entrée:

if(try_username == self.usernameEdit.text() and try_password == self.passwordEdit.text()): 
+0

'try_username' est une chaîne et' self.usernameEdit' est QLineEdit. – eyllanesc

+0

Ce n'est pas conforme à ce que vous proposez. – eyllanesc

+0

@eyllanesc, ouais ... je n'ai pas vu ça, merci d'avoir souligné que – PRMoureu