Есть ли способ запросить функцию, которая будет вызвана в mainloop Tkinter, из потока, который не является mainloop? - PullRequest
1 голос
/ 27 февраля 2012

У меня есть программа, которая получает последовательные данные и использует matplotlib для их построения с помощью Tkinter. У меня это работает в настоящее время, но я должен был использовать функцию .after () для опроса очереди данных. В других инфраструктурах пользовательского интерфейса, которые я использовал в прошлом (различные проекты в C), был способ попросить инфраструктуру пользовательского интерфейса вызвать функцию, данную ему из основной логической цепочки (либо через некоторое время, во время простоя и т. Д.) , Если я попытаюсь использовать .after () в потоке, который не является основным циклом, он не будет работать и будет жаловаться на меня.

Есть ли способ вызвать предоставленную пользователем функцию, предоставленную в потоке, который не является основным циклом, из основного цикла? Или есть ли способ дать команду mainloop проснуться и выполнить некоторую работу, если очередь получает некоторые данные?

Спасибо.

1 Ответ

1 голос
/ 27 февраля 2012

Я слышал, что вы можете позвонить event_generate из потока без графического интерфейса.Если вы вызываете event_generate, я прочитал, что вы должны дать значение tail параметру when.

Я лично делал это только в одном проекте, но, похоже, он работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...