Форум сайта python.su
def count(interval):
global number
number = 0
while True:
number += 1
sleep(interval)
t = Thread(target = count, args = (5,))
t.daemon = True
t.start()
class MyClass(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setWindowTitle('Test')
label = QtGui.QLabel(str(number), self)
label.move(15, 10)
self.resize(250, 30)
app = QtGui.QApplication(sys.argv)
qb = MyClass()
qb.show()
sys.exit(app.exec_())
Офлайн
Подозреваю потому, что примитивные типы (строки и числа) являются значимыми, а не ссылочными. Поэтому здесь
label = QtGui.QLabel(str(number), self)
Офлайн
..в том, что label'у надо делать setText руками. Он понятия не имеет о вашей number и уж о том что она изменилась тем более.
Делать это надо из отдельной нитки, либо через Queue, либо через qt-сигналы.
Офлайн
truporezДумал обойтись без очередей и сигналов, похоже не получится.
..в том, что label'у надо делать setText руками. Он понятия не имеет о вашей number и уж о том что она изменилась тем более.
Делать это надо из отдельной нитки, либо через Queue, либо через qt-сигналы.
Офлайн