Форум сайта python.su
class MyForm(QtGui.QLabel):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
@QtCore.pyqtSignature("")
def on_pushButton_start_clicked(self):
self.ui.progressBar.setRange(0, len(self.ui.listWidget.selectedItems()))
global toolName
for i in range(len(self.ui.listWidget.selectedItems())):
tmpstr=result.pop()
toolName=tmpstr
THR().run()
QtGui.QApplication.processEvents()
class THR(threading.Thread):
def run(self):
global toolName
TName = str(toolName)
if (sys.modules.has_key(TName)):
module = reload(sys.modules[TName])
else:
module = __import__(TName, globals())
Офлайн
хоть бы кто сказал что run() поток не запускает…разобрался уже…сделал через Qt поток..
тему можно закрывать..
Офлайн
Привет goblin_maks ты не мог бы выложить какой нибудь пример использования Qt потока. А то у меня та же проблема.
Офлайн
используется стандартный поток.
вызывается он методом start()
Офлайн
с простым потоком у меня тоже возникли некоторые проблемы..поэтому использовал Qt поток..вот пример..:
так обьявил поток:
class THR(QtCore.QThread):
def run(self):
!Здесь все то что надо исполнять в потоке!
self.thread = THR()
self.connect(self.thread, QtCore.SIGNAL("finished()"), self, QtCore.SLOT("threadFinished()")) # приконектился на сигнал завершения потока...
self.thread.start()
@QtCore.pyqtSignature("")
def threadFinished(self): # Начать тестирование
timer.stop()
self.ui.pushButton_start.setText(QtGui.QApplication.translate("Form", "Начать тестирование", None, QtGui.QApplication.UnicodeUTF8))
Отредактировано (Март 19, 2009 17:14:48)
Офлайн
Спасибо! Похоже то что надо.
Офлайн
Этот тред так и просится в форум GUI
Офлайн