为什么 QTimer 没有发信号?

Why is QTimer not signaling?

我有一个简单的设置,我需要 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" + " 0")
    self.sell_label.update()

你的问题是定时器没有父亲所以垃圾收集器会消除它,在它之前最简单的事情是传递父级,在这种情况下self.

timer = QTimer(self)

或使其成为 class 会员:

self.timer = QTimer()

注意:您不需要使用update()