Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность? / 6 сообщений из 6, страница 1 из 1
03.11.2018, 16:52
    #39727611
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
В С++ создавались дополнительные потоки, которые собственно и выполняли рабочую нагрузку, а основной поток обрабатывал GUI и ждал результатов работы.

В Python есть asyncio, который я активно использую в своей программе (делаю запросы к удаленному серверу для скрапинга данных).

Неужели мне надо всю прикладную логику писать в асинхронных процедурах, чтобы интерфейс периодически "оживал"? Как это сделать наиболее по Python- ски?
...
Рейтинг: 0 / 0
03.11.2018, 17:13
    #39727620
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
AlekseySQL,

Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет.
...
Рейтинг: 0 / 0
03.11.2018, 17:44
    #39727631
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
NekZAlekseySQL,

Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет.

Спасибо, за идею!, у меня как раз PyQt!
А вот интересно, можно как- то в теле рабочей функции получить QApplication, чтобы не хранить эту ссылку в глобальных переменных?
...
Рейтинг: 0 / 0
04.11.2018, 11:20
    #39727752
Partisan M
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
Утверждение, что в Python потоки выполняются последовательно, упрощённое. Это если они - для вычислений. Но если один поток для вычислений, а другой для GUI, то интерфейс пользователя не должен блокироваться. Думаю, это "по-питоновски". Подробности найдёте в Google по словам pyqt5 gui thread
...
Рейтинг: 0 / 0
04.11.2018, 20:33
    #39727893
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
AlekseySQLNekZAlekseySQL,

Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет.

Спасибо, за идею!, у меня как раз PyQt!
А вот интересно, можно как- то в теле рабочей функции получить QApplication, чтобы не хранить эту ссылку в глобальных переменных?
Чувак, ты же вроде такой весь из себя Qt-шник, а фундаментальных вещей из Qt не знаешь.
Q*Application является синглтоном. Тебе нужен QApplication.instance().
...
Рейтинг: 0 / 0
05.11.2018, 11:11
    #39728013
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
NekZЧувак, ты же вроде такой весь из себя Qt-шник, а фундаментальных вещей из Qt не знаешь.
Q*Application является синглтоном. Тебе нужен QApplication.instance().

Спасибо!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность? / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]