我正在开发一个带有 GUI 的简单应用程序,它通过 SOAP 连接到服务器并请求一些数据,这些数据以 XML 格式返回
我能够在我的应用程序中成功运行,但由于线程,GUI 冻结,直到完成完整的 SOAP 请求并返回其值
现在我正在尝试将我的应用程序运行到线程中,我创建了一个线程,它首先检查并验证 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)
以上工作可以很好地验证连接,但我想稍后在我的代码中使用 self.client 以便开始启动与服务器的 SOAP 连接
class MainAPP(QTabWidget, UI_File):
def __init__(self, parent=None):
def getinfor(self):
output_2 = self.client.getinfor('')
函数 getinfor 应该能够使用来自 WorkerThread 的 self.client。
任何想法如何做到这一点