Найти - Пользователи
Полная версия: Реализация паттерна slot and signal
Начало » Python для экспертов » Реализация паттерна slot and signal
1
ivan342
Добрый день.
Я сейчас пытаюсь переписать модуль который использует слоты и сигналы из библиотеки pyqt. Мне необходимо избавиться от pyqt, по этому я ищу альтернативную реализацию паттерна слоты и сигналы. Нашел библиотеку blinker, в ней меня все устраивает, кроме 1 небольшого нюанса. Когда сигнал вызывается из другого потока, обработчик сигнала выполняется не в главном потоке, а дочернем (из которого производился вызов сигнала). Для меня это является проблемой. Подскажите пожалуйста как можно сделать, чтобы присоединенный метод вызывался из главного потока (может быть это умеет blinker или есть другая хорошая реализация нужного мне паттерна).
PEHDOM
в свое время нашел вот таку штуку , просто и без затей, по крайней мере, для несложных задач, хватает с головой.
http://blog.abstractfactory.io/dynamic-signals-in-pyqt/
Но насчет потоков не скажу…
alex925
ivan342
У меня возникала такая же задача и для её решения пришлось немного переписать blinker, в итоге получилась библиотека aioblinker https://bitbucket.org/alex925/aioblinker/src/master/. Можешь попробовать использовать её. API я особо не менял (все отличия указаны в README.md), по этому можешь пользоваться документацией blinker.

P.S. если найдешь какие-то недочеты, пиши.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB