Доброго времени суток, нужна ваша помощь. Пишу для дипломки софт, программа для обмена сообщениями, использую Matrix API. Вот в чем заключается задача
import sys
import requests
from multiprocessing import Process
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtQuick import *
from PyQt5.QtQml import *
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from api import Api
# engine = create_engine('sqlite:///data/sim.db')
# Session = sessionmaker(bind=engine)
if __name__ == '__main__':
# session = Session()
class Gui(object):
# myApp = None
appLabel = None
# ctx = None
win = None
login = None
password = None
button = None
gui = Gui()
api = Api()
myApp = QApplication(sys.argv)
gui.appLabel = QQmlApplicationEngine()
ctx = gui.appLabel.rootContext()
ctx.setContextProperty("main", gui.appLabel)
def m_gui():
# User Interface
gui.appLabel.load('MessengerGUI/main.qml')
gui.win = gui.appLabel.rootObjects()[0]
gui.login = gui.win.findChild(QQuickItem, "login")
gui.password = gui.win.findChild(QQuickItem, "password")
gui.button = gui.win.findChild(QQuickItem, "button")
def button_click():
# When button clicked send auth request to server
api.auth(gui.login.property('text'), gui.password.property('text'))
print(api.access_token, api.home_server, api.user_id, api.device_id)
m_gui()
gui.button.clicked.connect(button_click)
gui_process = Process(target=m_gui())
button_process = Process(target=button_click())
gui_process.start()
button_process.start()
gui.win.show()
sys.exit(myApp.exec_())
сейчас UI(User Interface в UI два поля логин и пароль) и функция отправляющая запрос на сервер запускаются вместе. Получается, что функция еще не получила данные с полей логин и пароль, сразу же отправляет запрос на сервер. Как сделать так, чтобы вот эта функция ждала, пока не получит данные с полей логин и пароль и чтобы UI во время отправки запроса продолжал свою работу.