Форум сайта python.su
Добрый день.
Я сейчас пытаюсь переписать модуль который использует слоты и сигналы из библиотеки pyqt. Мне необходимо избавиться от pyqt, по этому я ищу альтернативную реализацию паттерна слоты и сигналы. Нашел библиотеку blinker, в ней меня все устраивает, кроме 1 небольшого нюанса. Когда сигнал вызывается из другого потока, обработчик сигнала выполняется не в главном потоке, а дочернем (из которого производился вызов сигнала). Для меня это является проблемой. Подскажите пожалуйста как можно сделать, чтобы присоединенный метод вызывался из главного потока (может быть это умеет blinker или есть другая хорошая реализация нужного мне паттерна).
Офлайн
в свое время нашел вот таку штуку , просто и без затей, по крайней мере, для несложных задач, хватает с головой.
http://blog.abstractfactory.io/dynamic-signals-in-pyqt/
Но насчет потоков не скажу…
[code python][/code]
Отредактировано PEHDOM (Июль 15, 2018 23:33:26)
Офлайн
ivan342
У меня возникала такая же задача и для её решения пришлось немного переписать blinker, в итоге получилась библиотека aioblinker https://bitbucket.org/alex925/aioblinker/src/master/. Можешь попробовать использовать её. API я особо не менял (все отличия указаны в README.md), по этому можешь пользоваться документацией blinker.
P.S. если найдешь какие-то недочеты, пиши.
Офлайн