import sys, time
import multiprocessing, threading
from PyQt4.QtGui import QApplication, QProgressBar
from PyQt4.QtCore import pyqtSignal
class Bar(QProgressBar):
mysignal = pyqtSignal(int)
def __init__(self, parent=None):
super(Bar, self).__init__()
self.mysignal.connect(self.set_value)
#threading.Thread(target=self.thread_func).start()
#multiprocessing.Process(target=self.thread_func).start()
def set_value(self, x):
self.setValue(x)
def thread_func(self):
for i in range(101):
self.mysignal.emit(i)
time.sleep(1)
app = QApplication(sys.argv)
bar = Bar()
bar.show()
app.exec_()
Я должен уточнить, что почти не знаю как многопоточности, так и многопроцессорности.
В приведенном выше примере я пытаюсь обновить значения индикатора выполнения из второго потока или процесса.(Хорошо, моя цель не просто обновить значения, но это пример).Использование потокового модуля работает правильно.С другой стороны, с многопроцессорным модулем у меня нет ожидаемого результата.
Почему это происходит и что я должен сделать, чтобы это исправить?
Заранее спасибо.