2016-09-27 89 views
-2

我一直在使用正常類函數和initUI函數的變量時遇到問題。
的代碼看起來是這樣的:將變量從正常函數傳遞到init_UI函數

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

上面我寫的代碼,但它顯示了一個名稱錯誤。有沒有辦法,我可以在第二個函數的第一個函數中使用數字變量?

回答

1

我寫了上面的代碼,但它顯示名稱錯誤。

大概是因爲,首先,text_transfer != text_trans,其次,在方法的身體,你應該使用self訪問其他方法。所以,init_UI應該是這樣的:

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

您可以通過訪問self的名稱,self然後含蓄地傳遞到被調用的函數,所以text_transfer(self)將無法​​正常工作。

有沒有辦法,我可以在第二個函數的第一個函數中使用數字變量?

在大多數情況下,這是通過簡單地返回想要的名稱從給定函數來完成:

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

簡單地返回變量是行不通的。 –

+0

@ShreyaGaddam定義*「不工作」*。 –