当一个界面中有多少按钮需要输入时,我们不可能每一个按钮设计一个槽函数,所以就需要我们在同一个槽函数里面对按钮进行区别,这里就需要用到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