# Create the build button with its caption
self.build_button = QPushButton('&Build Greeting', self)
# Connect the button's clicked signal to AddControl
self.build_button.clicked.connect(lambda: self.AddControl('fooData'))
def AddControl(self, name):
print name
如前所述here您可以使用lambda函数向要执行的方法传递额外的参数。
在本例中,您可以将字符串obj传递给按下按钮时调用的函数AddControl()。
来源:snip2code - Using Lambda Function To Pass Extra Argument in PyQt4
使用
lambda
下面是来自PyQt book的示例:
顺便说一下,您也可以使用
functools.partial
,但我发现lambda
方法更简单、更清晰。使用functools.partial
否则,如果使用lambda,则在脚本运行时将发现无法动态传递参数。
相关问题 更多 >
编程相关推荐