Форум сайта python.su
день добрый.
подскажите, пожалуйста, возможно ли взаимодействие pyqt и multiprocessing?
например 3 progressbar элемента, которые меняются независимо друг от друга.
Офлайн
Примерно так:
#!/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_()
Офлайн
truporez
меня интересует именно взаимодействие модулей pyqt и multiprocessing.
в примере используются потоки. но за пример все равно спасибо, пригодится!
Офлайн