PyQt5在使用信号连接槽函数

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, "小明"))

一般我使用第一种方法,比较方便,不用额外使用别的模块库

发布了79 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/s_daqing/article/details/104824556
今日推荐