PyQt5在使用信号连接槽函数的时候,想要传递参数怎么办,有如下两种方法:
# 正常是不可以传递参数的
def fun():
print(111)
btn = QPushButton("按钮", self) # 创建一个按钮
btn.clicked.connect(fun)
# 1. 第一种方法:使用lambda表达式
def fun(name):
print(name)
btn = QPushButton("按钮", self) # 创建一个按钮
btn.clicked.connect(lambda: fun("小明"))
# 2. 第二种方法:使用functools中的partial函数
from functools import partial
def fun(name):
print(name)
btn = QPushButton("按钮", self) # 创建一个按钮
btn.clicked.connect(partial(fun, "小明"))
一般我使用第一种方法,比较方便,不用额外使用别的模块库