Уведомления

Группа в Telegram: @pythonsu

#1 Май 5, 2013 20:40:22

psyh0y
Зарегистрирован: 2012-09-21
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением(логикой) [PyQt4,Потоки,Задания]

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

Суть вопроса:

Есть класс по работе с вк:

vk.login
vk.post
vk.get_post
vk…..
…..
ну и так далее
есть Queue() -> vk.task_queue -> куда должны поступать задания.
vk.work -> Функция обработки заданий, суть:

def work:
  task = self.task_queue.get()
  #Обработка заданий
  if task == 'login': self.login()
  ........
Далее есть Queue() -> self.result_queue -> Сюда помещается лог работы, результаты, отработавших функций

Есть класс QMyWindow -> это собственно gui часть, кнопочки, окошки и т.д.
В нем подгружаются всякие разные файлы и размещаются по виджетам данные.
Далее Необходимо что бы в потоках работало до 100 потоков с классом vk, но при этом что бы был обмен данными между gui и потоками. Как это организовать, очень прошу объясните понятнее, а то че то я совсем недогоняю как это организовать.

Офлайн

#2 Май 6, 2013 18:46:46

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Помогите с решением(логикой) [PyQt4,Потоки,Задания]

Непонятно, в чем конкретно вопрос.

psyh0y
обмен данными между gui и потоками
В Qt можно выполнить через сигналы. Т.к. напрямую большинство GUI элементов нельзя обновлять из не-GUI потока.
Если уже решили, что результаты складываются в result_queue, то можно сделать еще один поток, потребитель этой очереди, который будет выдавать сигналы о событиях, а GUI будет подписываться на интересующие.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version