Уведомления

Группа в Telegram: @pythonsu

#1 Март 21, 2022 13:24:16

LLenich
Зарегистрирован: 2022-02-05
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение app.exec() и возвращение назад

Добрый день.
Проблема следующая.
Необходимо вызвать приложение, подготовленное с помощью Qt,
используя команду app.exec(),
а замет вернуться назад, чтобы продолжился нижеследующий код.
Я изначально делал так:
if __name__ == ‘__main__’:
app = QtWidgets.QApplication(sys.argv)
myWin = MyGraphWindow()
myWin.show()
sys.exit(app.exec())
Запускалось окно с интерфейсом, в котором всё выполнялось.
Теперь мне нужно, чтобы одновременно с запущенным окном выполнялся еще бесконечный цикл.
Поэтому я делал так:
app = QtWidgets.QApplication(sys.argv)
myWin = MyGraphWindow()
myWin.show()
app.exec()
a=1
while a==1:

Но код после вызова окна не выполняется и ждет, пока закроют окно.
Если перед началом цикла вставить sys.exit(),
то, очевидно, код после этой команды не выполняется.
Если вставлять бесконечный цикл внутри кода графического окна, то также ничего не выходит,
т.к. класс окна не отработает.
Подскажите, пожалуйста, как вызвать окно, а затем вернуться к коду, чтобы и код работал и окном можно было управлять?
Спасибо.

Офлайн

#2 Март 21, 2022 22:52:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9873
Репутация: +  853  -
Профиль   Отправить e-mail  

Выполнение app.exec() и возвращение назад

LLenich
Теперь мне нужно, чтобы одновременно с запущенным окном выполнялся еще бесконечный цикл.
LLenich
Подскажите, пожалуйста, как вызвать окно, а затем вернуться к коду, чтобы и код работал и окном можно было управлять?
Нужно два потока. Многопоточное приложение надо делать. Осилишь? Думаю, нет.
https://doc.qt.io/qt-5/qthread.html



Отредактировано py.user.next (Март 21, 2022 22:53:38)

Офлайн

#3 Март 22, 2022 07:33:21

LLenich
Зарегистрирован: 2022-02-05
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Выполнение app.exec() и возвращение назад

py.user.next
Осилишь? Думаю, нет.
Умеете же Вы ободрить.
Ну, и на этом спасибо. Попробую разобраться, хотя, шансы малы.
Если есть у кого возможность и желание “на пальцах” разъяснить начинающему, то я был бы благодарен.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version