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 に答える