Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 20, 2010 11:32:21

Olegef
От:
Зарегистрирован: 2010-11-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt и multiprocessing

день добрый.

подскажите, пожалуйста, возможно ли взаимодействие pyqt и multiprocessing?
например 3 progressbar элемента, которые меняются независимо друг от друга.



Офлайн

#2 Ноя. 21, 2010 19:59:10

truporez
От:
Зарегистрирован: 2009-05-08
Сообщения: 266
Репутация: +  6  -
Профиль   Адрес электронной почты  

pyqt и multiprocessing

Примерно так:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from PyQt4.QtCore import *
from PyQt4.QtGui import *
from random import randint
from time import sleep

class Thread(QThread):
def __init__(self, parent):
QThread.__init__(self, parent)
self.parent = parent
def run(self):
for i in range(100):
self.parent.emit(SIGNAL("set_value(int,int)"), 0, i)
self.parent.emit(SIGNAL("set_value(int,int)"), 1, 99-i)
self.parent.emit(SIGNAL("set_value(int,int)"), 2, randint(0,99))
sleep(0.1)

class ProgressDialog(QDialog):
def __init__(self, parent):
QDialog.__init__(self, parent)
self.resize(320, 130)
layout = QFormLayout(self)
self.progress = []
for i in range(3):
egg = QProgressBar(self)
egg.setRange(0,99)
layout.addRow("progress %i" % i, egg)
self.progress.append(egg)
self.connect(self, SIGNAL("set_value(int,int)"), self.set_value)
th = Thread(self)
th.start()

def set_value(self, p, v):
self.progress[p].setValue(v)

if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
ProgressDialog(None).exec_()



Офлайн

#3 Ноя. 21, 2010 22:09:10

Olegef
От:
Зарегистрирован: 2010-11-20
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

pyqt и multiprocessing

truporez

меня интересует именно взаимодействие модулей pyqt и multiprocessing.
в примере используются потоки. но за пример все равно спасибо, пригодится!



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version