Фоновый процесс и ткинтер - PullRequest
0 голосов
/ 03 мая 2018

Нужна помощь в том, с чего начать, не очень хорошо с Python. То, что я пытаюсь сделать, это использовать tkinter для графического интерфейса, но мне нужно иметь возможность обрабатывать полученные данные и обновлять виджеты меток по мере изменения информации. У меня все готово, чтобы коммуникационная часть моей программы работала нормально в оболочке, но когда я пытаюсь привязать ее к tkinter, она остановится, как только будет сгенерирован интерфейс. У любого есть простой код, который я могу изменить в соответствии с моими потребностями или указать где-нибудь ссылочный пример. До сих пор провел дни, пробуя различные варианты, и я все еще должен найти что-то, что работает.

Спасибо за любую помощь

1 Ответ

0 голосов
/ 03 мая 2018

Преобразование вашей рабочей программы в функции, которые вы можете зарегистрировать как обратные вызовы в пользовательском интерфейсе tkinter (скажем, кнопки или другие виджеты), то есть сделать ее управляемой событиями, а затем, для фоновой обработки, зарегистрировать некоторые функции с помощью after метод виджета. root.mainloop() никогда не вернется (только при закрытии пользовательского интерфейса), используйте его как последнюю инструкцию.

Так что вы не можете просто написать свою логику в нисходящей структуре и надеяться, что она будет хорошо работать с пользовательским интерфейсом. Основной цикл будет постоянно зацикливаться и будет вызывать определенные функции в вашем коде, в зависимости от полученных событий от пользователя или для обратных вызовов, которые вы зарегистрировали для запуска через некоторое время с after.

См. здесь для after части

Посмотрите здесь для структурирования программ tkinter. В нем должно быть достаточно информации и ссылок, чтобы вы могли учиться и научиться делать это правильно.

...