0

所以我有一个 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)

这可能是一个简单的解决方案,但我只是不知道如何解决它。任何帮助表示赞赏!

4

2 回答 2

0

您需要问的问题是需要 ThreadedClient调用.endApplication()它。

一旦你有对它的引用(假设你将引用存储在 中self

def close(self):
    self.threaded_client.endApplication()
    # ...
于 2012-04-30T03:28:06.430 回答
0

显然,endApplication()是一个实例方法,而是ThreadedClient一个。您需要向它提供ThreadedClient要结束的实际实例。

例如,如果您在其他地方创建了一个线程客户端...

foo = ThreadedClient()

然后稍后你需要打电话...

foo.endApplication()
于 2012-04-30T03:28:18.883 回答