我已经编写了将代码发送给方法的代码, 即
b = "tp send"
a = self.sendnprint.clicked.connect(lambda: self.CBautofill(b))
print(a)
然后方法是这样的
def CBautofill(self,a10):
print(a10)
appppppp = "to receive"
return(appppppp)
但是我实际上没有收到任何错误,但是结果却不是异常,而且我认为其接收到了空值?
答案 0 :(得分:0)
您没有得到想要的东西有两个原因。
首先,lambda声明不是return
结果,而是lambda函数本身:
In [1]: a = lambda x: x * 5
In [2]: print(a)
<function <lambda> at 0xb5d6a95c>
In [3]: print(a(5))
25
然后,signal -> slot
连接仅仅是将信号连接到插槽(函数/方法)并返回None
的功能。
# ...
b = "tp send"
self.sendnprint.clicked.connect(lambda: self.getResult(b))
def getResult(self, value):
print(self.CBautofill(value))
def CBautofill(self,a10):
print(a10)
appppppp = "to receive"
return(appppppp)