Форум сайта python.su
Смотрел здесь: http://python.su/forum/viewtopic.php?id=9411 в общем.
Допустим у меня такой код - простое приложение:
#!/usr/bin/env python
#coding: utf-8
from PyQt4.QtCore import *
from PyQt4.QtGui import *
#from time import sleep
import test_another_module as tam
class AppForm(QMainWindow):
def __init__(self, parent=None):
super(AppForm, self).__init__(parent)
self.pbar = QProgressBar(self)
self.btn = QPushButton(u'OK')
# щелчок по кнопке - старт
self.connect(self.btn, SIGNAL('clicked()'), tam.process)#self.start)
self.v = QSplitter(Qt.Vertical)
self.v.addWidget(self.pbar)
self.v.addWidget(self.btn)
self.setCentralWidget(self.v)
def start(self):
size = 100000
self.pbar.setMinimum(0)
self.pbar.setMaximum(size)
for i in xrange(size+1):
self.pbar.setValue(i)
print 'finished'
if __name__ == "__main__":
app = QApplication(sys.argv)
form = AppForm()
form.show()
app.exec_()
Офлайн
Речь не о потоках, насколько я понимаю.
Смотрите на http://www.python.su/forum/viewtopic.php?pid=65860#p65860 и делайте выводы.
Офлайн
Вас спасет MVP. Грубо говоря, вам нужен некий класс, который имел бы одновременно ссылку на ответственного за то, что происходит в tam.process и ссылку на виджеты (в том числе прогресс бар). Тогда можно было бы организовать передачу данных по цепочке от модели (тот самый tam.process ответственный) через представителя (некий класс, который имеет ссылку на все и всех) в представление (ваши виджеты) посредством прямых вызовов или через события.
Офлайн