Bug
编写 PyQt5 GUI 程序时,定义了一个槽函数,在实际触发过程中会两次触发该槽函数,例子:
def on_upButton_clicked(self):
self.turn_page(-1)
出现原因
经过测试发现,会两次触发的都是拥有同名函数的槽函数,例如:clicked 和 triggered。由于该槽函数拥有两种信号,一种带参数一种不带参数。当不对槽函数进行限制时,不带参数的槽函数就会以为有两个信号,因此会触发两次。
解决办法
对槽函数参数加上限制后,不带参数的槽函数只会接收不带参数的槽函数信号,则槽函数只会触发一次
@pyqtSlot()
def on_upButton_clicked(self):
self.turn_page(-1)