Я знаю, что есть масса похожих вопросов, но :
Для этого случая я не нашел правильного подсказки.
Обзор: Я делаю GUI (PyQt5). Итак, есть основной класс "Ui_MainWindow()"
и класс "Allgorythm()"
, в которых выполняются некоторые вычисления. Сначала вызывается "Ui_MainWindow()"
, а затем экземпляры "Allgorythm()"
.
Моя идея: В "Ui_MainWindow()"
Я вызываю метод, который находится в "Allgorythm()"
и называется "def update(self)"
. Теперь в "def update(self)"
я хочу вызвать метод "def move(self)"
, который снова находится в первом классе "Ui_MainWindow()"
.
Моя проблема: Чтобы вызвать метод другим классом, мне нужно сначала создать его экземпляр, но я не могу создать экземпляр класса дважды (в начале и во втором классе), потому что это бесконечно ошибки.
Наглядный пример:
class Allgorythm():
def __init__(self, job_list):
self.job_list = job_list
def uptade(self):
main = Ui_MainWindow() # this is the probelm, I can not do this twice
main.move()
class Ui_MainWindow():
def __init__(self, *args, **kwargs):
super(Ui_MainWindow, self).__init__(*args, **kwargs)
self.setupUi()
def setupUi(self):
""" random code """
def move(self):
""" random code """
if __name__ == "__main__":
main = Ui_MainWindow() # And I need it here.
main.show()
Скажите, пожалуйста, если мое объяснение непонятно. Я ценю вашу помощь.