我遇到一个奇怪的错误,尽管我可以解决它,但我想知道是否有人知道这里发生了什么。如果我设置了信号,并且有一个名为connect
的方法,则信号连接方法将被类1覆盖。
我使用connect
方法将UI实际链接到函数时花了很多时间,而且这绝对不是pythonic的行为,所以我的主要问题是为什么会这样?
以下是导致错误PyQt signal connect() takes exactly 1 argument (4 given)
的示例:
class MainWindow(QtWidgets.QMainWindow):
testSignal = QtCore.Signal()
def __init__(self, parent=None, **kwargs):
super(MainWindow, self).__init__(parent, **kwargs)
self.testSignal.connect(lambda:None)
def connect(self):
pass
如果您给connect
3个参数输入并返回True
,则表示信号是满意的。
答案 0 :(得分:0)
尝试使用以下命令对其进行调试:
class MainWindow(QtWidgets.QMainWindow):
testSignal = QtCore.Signal()
def __init__(self, parent=None, **kwargs):
super(MainWindow, self).__init__(parent, **kwargs)
self.testSignal.connect(self.debug)
def debug(self, *args, **kwargs):
print("got", args, "and", kwargs)
因此您可以看到,哪些值已传递到信号处理程序debug
。