在另一个有线程的类中调用Function

时间:2013-05-07 01:04:03

标签: multithreading wxpython

我正在python中编写一个gui应用程序。在GUI的一个实例中,我想调用我的线程类中的方法,但我不想调用初始的run()方法。

以下是我的Threaded课程的一个例子:

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'。如何在不执行run(self)方法的情况下直接调用此SomeMethod函数?

1 个答案:

答案 0 :(得分:0)

我认为文本编辑器在某些元素的标签/间距方面遇到了一些问题。通过调用:

修复缩进后,我得到了它的工作
self.queue = Queue.Queue()
SomeThread(self.queue).SomeMethod()