2017-09-21 4 views
0

Ich habe eine einfache Einrichtung, wo ich QTimer brauchen, um ein Etikett zu aktualisieren. Alles ist in Ordnung, außer dass das Ereignis nie passiert und der QTimer-Code überprüft wird.Warum signalisiert QTimer nicht?

def init_ui(self): 
    self.sell_label = QLabel("Sale: " + str(self.bid)) 
    self.sell_label.setAlignment(Qt.AlignCenter) 
    self.layout.addWidget(self.sell_label,7,9) 

    self.show() 

    timer = QTimer() 
    timer.timeout.connect(self.update_attrib) 
    timer.start(10000)   

def update_attrib(self): 
    self.sell_label.setText("Sale" + " $100") 
    self.sell_label.update() 

Antwort

0

Das Problem in Ihrem Fall ist, dass der Timer keinen Vater hat, so die Garbage Collector es zu beseitigen, bevor es die einfachste Sache, einen Elternteil passieren ist, in diesem Fall Selbst.

timer = QTimer(self) 

Oder es einen Teilnehmer machen:

self.timer = QTimer() 

Hinweis: Sie brauchen nicht die update()

+0

Danke zu verwenden. Das war das Problem. –

Verwandte Themen