Форум программистов, компьютерный форум, киберфорум
Наши страницы
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
 
CqpuHkc
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 22
1

Двусторонний обмен данными без блокировки GUI

03.06.2019, 12:16. Просмотров 266. Ответов 2

Здравствуйте,
у меня следующая ситуция: есть GUI написанный с WX. По нажатию кнопки создается новый поток и запускается сторонний ехе (написан на C, могу изменять код). Из этого ехе я хочу получать данные и отображать их в гуи. В данный момент ехе выдает json-сообщения через printf, в Python GUI получаю их с помошью
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
       proc = subprocess.Popen(
                self.externprogramm,
                stdout=subprocess.PIPE,
                stderr=subprocess.STDOUT,
                stdin=subprocess.PIPE,
                shell=False
                )
        proc.stdin.close()
        while True:
                retrncode = proc.poll()
                while True:
                    line = os.read(proc.stdout.fileno(), 4096)
                         ------>дальше к json парсеру

Но обрабатывать полученные данные я могу только по завершению запущенного ехе, когда субпроцесс возвращает returncode, при этом когда ехе запущен GUI подвисает.

Каким образом можно реализовать двусторонний обмен данными без блокировки гуи в данном случае?

Спасибо
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2019, 12:16
Ответы с готовыми решениями:

Обмен данными между формами
Добрый вечер. Пишу небольшое приложение средствами PyQt, хотел посоветоваться, как лучше...

Обмен данными между родителем и потомком
Здравствуйте. Помогите решить задачу. Родитель передает потомку три стороны треугольника. Потомок...

Обмен данными GUI и шахматного движка
Пишу GUI для работы с шахматным движком. Движок это exeшник принимающий команды, но как мне сделать...

Обмен данными между 2 GUI приложениями Qt
Добрый вечер, господа форумчане. Реализовываю межпроцессорное взаимодействие 2 GUI приложений. ...

Двусторонний обмен
Помогите разобрать ситуацию. Молодой сайт. все понулям, но проиндексирован. начинаем обмен...

2
tooru
422 / 272 / 166
Регистрация: 07.01.2019
Сообщений: 908
03.06.2019, 19:58 2
Вынести в отдельный thread
0
dondublon
2454 / 1341 / 268
Регистрация: 17.03.2012
Сообщений: 7,657
Записей в блоге: 5
05.06.2019, 17:18 3
Цитата Сообщение от CqpuHkc Посмотреть сообщение
По нажатию кнопки создается новый поток
Точно? По описанным симптомам - нет.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2019, 17:18

Обмен данными без открытых портов
Может звучит глупо, но можно ли организовать обмен данными, при том, что все порты закрыты? Ну или...

Двусторонний обмен сообщениями
В общем прошу хэлпы!Нужно сделать чат с двусторонним обменом сообщениями,обмен сообщениями...

Обмен данными с сервером, без обновления страницы
Доброго времени суток, да я знаю что есть JS, но у меня все таки возникает вопрос. Вижу много...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru