为什么QTimer没有发出信号?

时间:2017-09-21 00:08:36

标签: python pyqt qtimer

我有一个简单的设置,我需要QTimer来更新标签。一切都很好,除了事件永远不会发生,QTimer代码被查看。

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()

1 个答案:

答案 0 :(得分:0)

你的情况下的问题是计时器没有父亲,因此垃圾收集器会消除它,在最简单的方法是传递父节点之前,在这种情况下自我

timer = QTimer(self)

或者让它成为班级成员:

self.timer = QTimer()

注意:您无需使用update()