|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
В С++ создавались дополнительные потоки, которые собственно и выполняли рабочую нагрузку, а основной поток обрабатывал GUI и ждал результатов работы. В Python есть asyncio, который я активно использую в своей программе (делаю запросы к удаленному серверу для скрапинга данных). Неужели мне надо всю прикладную логику писать в асинхронных процедурах, чтобы интерфейс периодически "оживал"? Как это сделать наиболее по Python- ски? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 16:52 |
|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
AlekseySQL, Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 17:13 |
|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
NekZAlekseySQL, Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет. Спасибо, за идею!, у меня как раз PyQt! А вот интересно, можно как- то в теле рабочей функции получить QApplication, чтобы не хранить эту ссылку в глобальных переменных? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.11.2018, 17:44 |
|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
Утверждение, что в Python потоки выполняются последовательно, упрощённое. Это если они - для вычислений. Но если один поток для вычислений, а другой для GUI, то интерфейс пользователя не должен блокироваться. Думаю, это "по-питоновски". Подробности найдёте в Google по словам pyqt5 gui thread ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 11:20 |
|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
AlekseySQLNekZAlekseySQL, Если GUI на PyQt/PySide, то QApplication.processEvents() тебе поможет. Спасибо, за идею!, у меня как раз PyQt! А вот интересно, можно как- то в теле рабочей функции получить QApplication, чтобы не хранить эту ссылку в глобальных переменных? Чувак, ты же вроде такой весь из себя Qt-шник, а фундаментальных вещей из Qt не знаешь. Q*Application является синглтоном. Тебе нужен QApplication.instance(). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2018, 20:33 |
|
GUI- интерфейс в Python- программе блокируется. Как вернуть интерактивность?
|
|||
---|---|---|---|
#18+
NekZЧувак, ты же вроде такой весь из себя Qt-шник, а фундаментальных вещей из Qt не знаешь. Q*Application является синглтоном. Тебе нужен QApplication.instance(). Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.11.2018, 11:11 |
|
|
start [/forum/topic.php?fid=23&msg=39727752&tid=1460109]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 463ms |
0 / 0 |