2016-09-27 2 views
-2

Ich hatte ein Problem mit der Verwendung einer Variablen einer normalen Klassenfunktion und initUI Funktion.
Der Code sieht wie folgt aus:Übergabe von Variablen von normalen Funktion zu init_UI Funktion

def text_trans(self): 
    ... 
    number = 2 
    ... 
def init_UI(self): 
    number = text_transfer(self) 
    print(number) 
    QtWidgets.QMessageBox.information(self,"generated","generated") 

Ich schrieb den obigen Code, aber es zeigt einen Namen Fehler. Gibt es einen Weg, kann ich die Zahlenvariable in der ersten Funktion in der zweiten verwenden?

Antwort

1

Ich schrieb den obigen Code, aber es zeigt einen Namensfehler.

Wahrscheinlich, weil, für den Anfang, text_transfer != text_trans und zum anderen in den Körper von Methoden sollten Sie self andere Methoden zuzugreifen. So sollte init_UI wie folgt aussehen:

def init_UI(self): 
    number = self.text_trans() 
    print(number) 

Sie den Namen Zugriff durch self und self wird dann implizit an das aufgerufene Funktion übergeben, so wird text_transfer(self) nicht funktionieren.

Gibt es einen Weg, kann ich die Nummer Variable in der ersten Funktion in der zweiten verwenden?

In den meisten Fällen wird dies durch einfache getan den gesuchten Namen aus einer bestimmten Funktion Rückkehr:

def text_trans(self): 
    ... 
    number = 2 
    return number 
+0

einfach die Variable funktioniert nicht zurück. –

+0

@ShreyaGaddam define * "funktioniert nicht" *. –

Verwandte Themen