PyQT5 绑定函数的传参(connect 带参数)

PyQT5 绑定函数的传参(connect 带参数)

使用PyQt编程过时,经常会遇到给槽函数传递自定义参数的情况。

采用 lamda:

示例1

self.but1.clicked.connect(lambda: self.mySlot(1))

self.but2.clicked.connect(lambda: self.mySlot(2))

def mySlot(self, param):

if param == 1:

...

elif param == 2:

...

示例2

def connections(self):

my_button.clicked.connect(lambda checked: self.on_button(checked, 'hi'))

def on_button(self, checked, message):

print checked, message # prints "True, hi"

采用 functools

# imports the functools module

import functools

def connections(self):

my_button.clicked.connect(functools.partial(self.on_button, 'hi'))

def on_button(self, message, checked):

print checked, message # prints "True, hi"

REF

https://www.jianshu.com/p/588a7384bbb3

https://zhuanlan.zhihu.com/p/371042469

相关推荐

六谷园品牌涉及行业
日博365投注

六谷园品牌涉及行业

📅 10-30 👁️ 3906
魔兽世界卡拉诺斯在哪
365bet赌场手机投注

魔兽世界卡拉诺斯在哪

📅 09-17 👁️ 2280
江户川柯南
日博365投注

江户川柯南

📅 07-21 👁️ 7575
烽成语大全 烽字成语有哪些
百特365下载

烽成语大全 烽字成语有哪些

📅 09-08 👁️ 2450
为什么origin连接不到服务器
百特365下载

为什么origin连接不到服务器

📅 10-22 👁️ 5891
.ppt和.pptx有什么区别
365bet赌场手机投注

.ppt和.pptx有什么区别

📅 09-22 👁️ 9385
Delphi中@,^,#,$分别表示什么?
365bet赌场手机投注

Delphi中@,^,#,$分别表示什么?

📅 09-11 👁️ 1385
2025智能锁选购风向标:谁被捧杀?谁才是真·国民好锁?
工行理财产品看准选择
日博365投注

工行理财产品看准选择

📅 11-13 👁️ 9521