python-gui-pyqt5的使用方法-6--lambda传递参数的方法:
from PyQt5.QtWidgets import *import sysclass lambdaSlotArg(QMainWindow):def __init__(self):super(lambdaSlotArg, self).__init__()self.setWindowTitle("lambda函数传递参数")button1=QPushButton("按钮1")button2=QPu
·
pyqt5传递参数的办法有两种函数:
1.lambda:
2.partial “from functools import partial”
from PyQt5.QtWidgets import *
import sys
class lambdaSlotArg(QMainWindow):
def __init__(self):
super(lambdaSlotArg, self).__init__()
self.setWindowTitle("lambda函数传递参数")
button1=QPushButton("按钮1")
button2=QPushButton("按钮2")
x=100
y=200
button1.clicked.connect(lambda:self.onButtonClick(x,y))
# 传递参数
layout=QHBoxLayout()
layout.addWidget(button1)
mainFrame=QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
def onButtonClick(self,m,n):
print("m+n",m+n)
if __name__ == '__main__':
app=QApplication(sys.argv)
form=lambdaSlotArg()
form.show()
sys.exit(app.exec_())
第二个版本 信息:
from PyQt5.QtWidgets import *
import sys
class lambdaSlotArg(QMainWindow):
def __init__(self):
super(lambdaSlotArg, self).__init__()
self.setWindowTitle("lambda函数传递参数")
button1=QPushButton("按钮1")
button2=QPushButton("按钮2")
#变量信息
x=100
y=200
button1.clicked.connect(lambda:self.onButtonClick(x,y))
button2.clicked.connect(lambda:self.onButtonClick(100,20))
# 传递参数
layout=QHBoxLayout()
layout.addWidget(button1)
layout.addWidget(button2)
mainFrame=QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
def onButtonClick(self,m,n):
print("m+n",m+n)
if __name__ == '__main__':
app=QApplication(sys.argv)
form=lambdaSlotArg()
form.show()
sys.exit(app.exec_())
更多推荐
所有评论(0)