0

SOAP経由でサーバーに接続し、いくつかのデータを要求するGUIを備えた単純なアプリケーションに取り組んでいます。このデータはXML形式で返されます

アプリケーションで正常に実行できましたが、スレッドが原因で、完全な SOAP 要求が終了してその値が返されるまで、GUI がフリーズします。

今、私は自分のアプリケーションをスレッドに実行しようとしています.SOAP接続が成功したかどうかを最初にチェックして検証するスレッドを作成しました.

接続確認

class WorkerThread(QThread):
    def __init__(self, parent=None):
        super(WorkerThread, self).__init__(parent)

    def run(self):
        self.session = Session()
        self.session.verify = False
        self.cucmurl = 'https://URL'
        self.session.auth = HTTPBasicAuth(user, pass)
        self.cache = SqliteCache(path='/tmp/sqlite.db', timeout=10)
        self.trself.clientansport = Transport(session=self.session, cache=self.cache)
        self.client = Client(wsdl, transport=self.transport, strict=False)

上記は接続を確認するために正常に機能しますが、サーバーへの SOAP 接続の開始を開始するために、コードの後半で self.client を使用したいと考えています。

class MainAPP(QTabWidget, UI_File):
     def __init__(self, parent=None):

      def getinfor(self):
       output_2 = self.client.getinfor('')

関数 getinfor は、WorkerThread からの self.client を使用できる必要があります。

これを達成する方法はありますか

4

1 に答える 1