У меня есть проблема, которая сводит меня с ума.
У меня есть 2 модуля Main.py и Writeagile.py
на main.py У меня есть класс Ui_MainWindow, который содержит весь мой пользовательский интерфейс.
в Ui_MainWindow У меня есть метод"on_click_fetchUser":
def on_click_fetchUser(self):
_translate = QtCore.QCoreApplication.translate
api = AgileApi()
user_email = self.search_agile.text()
if "@" and "." not in user_email:
msg = QMessageBox()
msg.setIcon(QMessageBox.Warning)
msg.setText("wrong Email")
msg.exec_()
else:
api.fetchUser(email=user_email)
api.fetchUser(email=user_email)
входит в Writeagile.py и в метод fetchUser:
def fetchUser(self,email):
msg = QMessageBox()
msg.setIcon(QMessageBox.Warning)
agile_user = self.agileCRM("contacts/search/email/{}".format(email), "GET", None, "application/json")
ui = Ui_MainWindow()
MainWindow = QtWidgets.QMainWindow()
ui.setupUi(MainWindow)
try:
fetch_user = json.loads(str(agile_user))
if email in fetch_user['properties'][4]['value']:
first = (fetch_user['properties'][0]['value'])
last = (fetch_user['properties'][1]['value'])
email = (fetch_user['properties'][4]['value'])
return ui.agile_ui(first=first,last=last,email=email)
except ValueError:
return {msg.setText("User not found in Agile") , msg.exec_()}
Это работает нормально, и информация Json, которую я хочу получить,извлекается и возвращается к новому методу, который находится в Ui_MainWindow, agile_ui:
def agile_ui(self,first,last,email):
_translate = QtCore.QCoreApplication.translate
print(first,last,email)
self.first_name.setText(_translate("MainWindow", "{}".format(first)))
self.last_name.setText(_translate("MainWindow", "{}".format(last)))
self.email.setText(_translate("MainWindow", "{}".format(email)))
Пока все работает так, как я хочу, и Print дает мне именно ту информацию, которую я хочу.
НО теперь моя проблема начинается!Когда метод agile_ui () «инициируется» из writeagile.fetchUser () Атрибуты, которые меняют текст для меня:
self.first_name.setText(_translate("MainWindow", "{}".format(first)))
self.last_name.setText(_translate("MainWindow", "{}".format(last)))
self.email.setText(_translate("MainWindow", "{}".format(email)))
Ничего не делать !!Нет ошибок или ничего!ничего не происходит.
Если я удаляю все, что передано из writeagile.fetchUser, и запускаю agile_ui в Ui_MainWindow, атрибуты работают и setText работает.
Надеюсь, кто-нибудь может мне помочь.С наилучшими пожеланиями Фредрик