2015-12-15 64 views
0

我試圖創建需要一個變量從一個函數傳遞到一類,像這樣的軟件:在不同的文件傳遞變量不同類別

def goToAddingAClass(self): 
    className = self.CreateNewClassEntry.get() 
    root2 = Toplevel(self.master) 
    NextWindow = AddingAClassPage.AddingAClass(root2) 

...

from HomePage import * 

class InputtingStudentInformation(): 
    def __init__(self, master): 
     titleLabel(master, 'Adding a Class ' + className, labelBackground()) 

爲簡單起見,我刪除了很多代碼。第一個文件稱爲HomePage,第二個文件是InputtingStudentInformationPage。但是,我不知道如何將變量「className」放入第二個類中。我試圖從首頁所有進口如圖所示,但得到一個錯誤說

global name 'className' is not defined 

如何傳遞類之間的變量在不同的文件嗎?

+0

'className'是局部變量,只存在於' goToAddingAClass()'。也許你應該使用'global'或者'return className'和'global_className = goToAddingAClass()'然後'InputtingStudentInformation(global_className)' – furas

+0

你的問題很混亂。在這8行代碼中,有幾個看起來像類名的東西('InputtingStudentInformation',也許''AdddingAClassPage',也許'AddingAClass',這個問題似乎是在獲得一個變量到InputtingStudentInformation中,但是你沒有顯示您創建該類的代碼。 –

回答

0

從一類獲取信息到另一個最好的辦法是將它傳遞通常這需要在構造函數另一個參數的形式:

class InputtingStudentInformation(): 
    def __init__(self, master, className): 
     titleLabel(master, 'Adding a Class ' + className, labelBackground()) 
... 
className = self.CreateNewClassEntry.get() 
something = InputtingStudentInformation(master, className)