当一个界面中有多少按钮需要输入时,我们不可能每一个按钮设计一个槽函数,所以就需要我们在同一个槽函数里面对按钮进行区别,这里就需要用到sender(),sender()的返回值为触发这个事件的对象,比如我们定义0-9共10个按钮,将按钮对象名分别设置为0-9,那么当按钮按下1之后,sender()就返回1这个对象,sender().text()就是对象名‘1’;
举例如下:我们需要通过0-9输入密码,ui文件这里就不做过多说明,就是一个widget里面有10个按钮
//窗口类
class CodeWindow(QWidget):
def __init__(self):
super(CodeWindow, self).__init__()
#这里引用一个自定义的窗口,窗口可以自行定义
self.ui = Ui_codeUI()
self.ui.setupUi(self)
#数字按键signal
self.ui.button0.clicked.connect(self.inputPasswd)
self.ui.button1.clicked.connect(self.inputPasswd)
self.ui.button2.clicked.connect(self.inputPasswd)
self.ui.button3.clicked.connect(self.inputPasswd)
self.ui.button4.clicked.connect(self.inputPasswd)
self.ui.button5.clicked.connect(self.inputPasswd)
self.ui.button6.clicked.connect(self.inputPasswd)
self.ui.button7.clicked.connect(self.inputPasswd)
self.ui.button8.clicked.connect(self.inp

在Python的QT界面开发中,通过pyside2,可以利用sender()函数在一个槽函数中区分多个按钮的点击事件。例如,创建0-9的10个按钮,将按钮对象名设为数字,当按下按钮1时,sender()返回该按钮对象,通过sender().text()获取对象名'1',从而实现多按键的灵活处理。
最低0.47元/天 解锁文章
2431

被折叠的 条评论
为什么被折叠?



