2012-04-30 204 views
0

所以我有一個close()方法,當用戶單擊關閉按鈕時被調用。 close方法如下:其他類呼叫模塊

def close(self): 
    ThreadedClient.endApplication() 

    root.destroy() 

close()方法在GUI()類中。 close方法需要調用ThreadedClient類中的endApplication()方法。但相反,它給了我這個錯誤:

TypeError: unbound method endApplication() must be called with ThreadedClient instance as first argument (got nothing instead) 

這可能是一個簡單的解決方案,但我只是不知道如何解決它。任何幫助表示讚賞!

+0

這是使用Tkinter的? –

回答

0

您需要提問的問題是其中ThreadedClient需要有.endApplication()對它進行調用。

一旦你有對它的引用(假設你存儲參考在self

def close(self): 
    self.threaded_client.endApplication() 
    # ... 
0

顯然,endApplication()是一個實例的方法,但ThreadedClient類。您需要爲其提供您想要結束的ThreadedClient的實際實例。

舉例來說,如果別的地方你創建了...

foo = ThreadedClient() 

再後來就你一個線程客戶端就需要調用...

foo.endApplication()