crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Пример QThreadPool
kalombo
  опции профиля:
сообщение 30.8.2011, 11:37
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 5.8.2008
Пользователь №: 252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Надо что-то вроде третьего примера по этой ссылке http://python4seo.ru/?p=67. Организовать пул потоков. Где можно посмотреть простенькие примеры использование Qthreadpool? Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kalombo
  опции профиля:
сообщение 30.8.2011, 12:37
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 37
Регистрация: 5.8.2008
Пользователь №: 252

Спасибо сказали: 0 раз(а)




Репутация:   0  


Выгуглил таки пример, пока вопросы пропали, вот он(тут немного он изменен мной, закомментирован сигнал):
import sys, time
from PyQt4.QtCore import *
from PyQt4.QtGui import *


class WorkerObject(QObject):
    testsignal = pyqtSignal(int, int, int)

class Runnable(QRunnable):

    def __init__(self):
        QRunnable.__init__(self)
        self.obj = WorkerObject()

    def run(self):
        print "Hello"
        time.sleep(10)
        print "Over"
        #self.obj.testsignal.emit(1, 2, 3)

class Win(QPushButton):
    def __init__(self):
        QPushButton.__init__(self, "Push me")
        self.tp = QThreadPool()
        self.tp.setMaxThreadCount(5)
        self.clicked.connect(self.slotClicked)

    def slotClicked(self):
        runnable = Runnable()
        runnable.obj.testsignal.connect(self.slotTestSignal)
        self.tp.start(runnable)

    def slotTestSignal(self, a, b, c):
        print "Returning from runnable", a, b, c

if __name__ == '__main__':
    app = QApplication(sys.argv)

    w = Win()
    w.show()

    app.exec_()


Сообщение отредактировал kalombo - 30.8.2011, 12:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 15:38