Уже посмотрел и надо сказать что подобных приколов я давно не видел… Ты хоть понимаешь что у тебя с каждым приходом сигнала окно заново создаётся? Вот пример того как надо работать с потоком:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui, uic
# Класс, отвечающий за GUI
class GeneralWindow(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
Form, Base = uic.loadUiType("test_form.ui")
self.ui = Form()
self.ui.setupUi(self)
self.ui.button.clicked.connect(self.work)
self.potok = Potok()
QtCore.QObject.connect(self.potok, QtCore.SIGNAL("PotokValue(PyQt_PyObject)"), self.labels_output)
def work(self):
self.potok.start()
# Функция, отвечающая за вывод в GUI
def labels_output(self, text):
print text # Выведет текст, заданный во вводе
self.ui.label.setText(str(text))
class Potok(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def run(self):
for value in xrange(8):
self.emit(QtCore.SIGNAL("PotokValue(PyQt_PyObject)"), value)
if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
window = GeneralWindow()
window.show()
sys.exit(app.exec_())