Заставить программу ждать выполнение метода, прежде чем перейти к следующему
У меня есть метод, в котором я вызываю несколько других методов. Так как выполняются они долго, я хочу в начале их выполнения вывести в новом окне табличку "Подождите! Графики выполняются". Вот мой код.
Проблема состоит в том, что запуске программы, табличка появляется, но не заполняется данными и выглядит как на картинке. А нормально она выглядит уже в конце выполнения программы.
class Window(QtWidgets.QMainWindow, design3.Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.pushButtonConfirm.clicked.connect(self.printGraph)
self.istart = (self.calendarWidget_1.selectedDate()).toPyDate()
self.iend = (self.calendarWidget_2.selectedDate()).toPyDate()
self.istart = self.calendarWidget_1.selectedDate()
self.iend = self.calendarWidget_2.selectedDate()
self.WindowDownload = QMessageBox()
def printGraph(self):
self.city = self.getCity()
Graph = getGraph(self.city, self.istart, self.iend)
self.showMesaggeS()
self.getFirst(Graph)
self.getSecond(Graph)
self.getThird(Graph)
self.getFourth(Graph)
def showMesaggeS(self):
self.WindowDownload.setIcon(QMessageBox.Information)
self.WindowDownload.setWindowTitle("Повідомлення!")
self.WindowDownload.setText("Зачекайте! Графіки будуються")
self.WindowDownload.setStandardButtons(QMessageBox.Ok)
self.WindowDownload.show()
Весь код не прикрепляю, так как там много файлов. Если нужно, могу отдельно загрузить (для справки, там несколько файлов .py и файл .xlsx из которого я беру данные).