2013-05-07 43 views
0

我正在用python編寫一個gui應用程序。在GUI的一個實例中,我想調用我的線程類中的一個方法,但我不想調用最初的run()方法。線程調用另一個類中的函數

這裏是我的線程類的例子:

class SomeThread(Thread): 
    def __init__(self,queue): 
     self.queue = queue 
     Thread.__init__(self) 

    def SomeMethod(): 
     print "success" 

    def run(self): 
     apple = "eat a apple" 

     self.queue.put(apple) # pass var into queue 

我試圖打電話給這裏的someMethod

class SomeGUIClass(wx.Frame): 

    def MethodA(self,event): 
      SomeThread.SomeMethod() 

但我得到,指出「類型的對象錯誤‘SomeThread’有沒有屬性'SomeMethod'。我怎麼能直接調用這個SomeMethod函數而不執行run(self)方法?

回答

0

我相信文本編輯器有一些tab /間距的問題ain元素。我通過以下方式修復縮進後得到它:

self.queue = Queue.Queue() 
SomeThread(self.queue).SomeMethod()