Форум сайта python.su
Добрый день, помогите пожалуйста с ооп,
я использую PyQt4, у меня в главном классе при помощи экземпляра другого класса , создаются потоки которые выполняют какие то действия, и результат этих действий, надо возвращать в форму, скажите пожалуйста как организовать архитектуру классов чтобы я из потоков мог писать в гуи?
Офлайн
Я не писал с PyQT4, но возможно выходом здесь может послужить паттерн Event Bus (дополненный паттерн Observer) - http://www.dossier-andreas.net/software_architecture/eventbus.html Вот его простейшая реализация:
class Event(object):
__events = []
@classmethod
def fire(cls, name, *args):
for event in cls.__events:
if event.__name == name:
event.__method(*args)
def __init__(self, name, method):
self.__name = name
self.__method = method
Event.__events.append(self)
Event('some_event_X', self.__on_event_X)
...
def __on_event_X(self, arg1, arg2):
... do something here
Event.fire('some_event_X', arg1, arg2)
Офлайн
linzmanhttp://python.su/forum/viewtopic.php?pid=59645#p59645
скажите пожалуйста как организовать архитектуру классов чтобы я из потоков мог писать в гуи?
Офлайн