pushButton.clicked.connect
时间: 2024-02-29 14:56:48 浏览: 13
这是一个 PyQt5 中的信号(signal)和槽(slot)的连接语法。在 PyQt5 中,当一个控件(比如QPushButton)被点击时,它会发射一个信号(clicked),程序可以通过连接这个信号到一个槽(slot)来实现相应的功能。语句“pushButton.clicked.connect”就是用来建立这个信号和槽的连接。具体来说,它就是将 pushButton 的 clicked 信号连接到另一个函数或方法,当 pushButton 被点击时,这个函数或方法就会被执行。
相关问题
import sys from PyQt5.QtWidgets import QApplication, QWidget , QMainWindow from Calui1 import Ui_Form class Mywindow(QWidget,Ui_Form): def __init__(self): super(Mywindow,self).__init__() self.setupUi(self) def btnClear_clicked(self): self.lineEdit.clear() def btn1(self): self.lineEdit.insert("1") def btn2(self): self.lineEdit.insert("2") def btn3(self): self.lineEdit.insert("3") def btn4(self): self.lineEdit.insert("4") def btn5(self): self.lineEdit.insert("5") def btn6(self): self.lineEdit.insert("6") def btn7(self): self.lineEdit.insert("7") def btn8(self): self.lineEdit.insert("8") def btn9(self): self.lineEdit.insert("9") def btn0(self): self.lineEdit.insert("0") def btn_plus(self): self.lineEdit.insert("+") def btn_sub(self): self.lineEdit.insert("-") def btn_mul(self): self.lineEdit.insert("*") def btn_div(self): self.lineEdit.insert("/") def btnequal(self): text=self.lineEdit.text() self.lineEdit.insert("= %.2f" %(eval(text))) if __name__=='__main__': app=QApplication(sys.argv) win=Mywindow() win.pushButton_7.clicked.connect(win.btnClear_clicked()) win.pushButton.clicked.connect(win.btn1()) win.pushButton_2.clicked.connect(win.btn2()) win.pushButton_3.clicked.connect(win.btn3()) win.pushButton_4.clicked.connect(win.btn_plus()) win.pushButton_5.clicked.connect(win.btn4()) win.pushButton_6.clicked.connect(win.btn7()) win.pushButton_8.clicked.connect(win.btn5()) win.pushButton_9.clicked.connect(win.btn8()) win.pushButton_10.clicked.connect(win.btn0()) win.pushButton_11.clicked.connect(win.btn6()) win.pushButton_12.clicked.connect(win.btn9()) win.pushButton_13.clicked.connect(win.btnequal()) win.pushButton_14.clicked.connect(win.btn_sub()) win.pushButton_15.clicked.connect(win.btn_mul()) win.pushButton_16.clicked.connect(win.btn_div()) win.show() sys.exit(app.exec_())错在哪
你忘记了在导入模块时使用逗号分隔,应该改为:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow
from Calui1 import Ui_Form
class Mywindow(QWidget,Ui_Form):
def __init__(self):
super(Mywindow,self).__init__()
self.setupUi(self)
def btnClear_clicked(self):
self.lineEdit.clear()
def btn1(self):
self.lineEdit.insert("1")
def btn2(self):
self.lineEdit.insert("2")
def btn3(self):
self.lineEdit.insert("3")
def btn4(self):
self.lineEdit.insert("4")
def btn5(self):
self.lineEdit.insert("5")
def btn6(self):
self.lineEdit.insert("6")
def btn7(self):
self.lineEdit.insert("7")
def btn8(self):
self.lineEdit.insert("8")
def btn9(self):
self.lineEdit.insert("9")
def btn0(self):
self.lineEdit.insert("0")
def btn_plus(self):
self.lineEdit.insert("+")
def btn_sub(self):
self.lineEdit.insert("-")
def btn_mul(self):
self.lineEdit.insert("*")
def btn_div(self):
self.lineEdit.insert("/")
def btnequal(self):
text=self.lineEdit.text()
self.lineEdit.insert("= %.2f" %(eval(text)))
if __name__=='__main__':
app=QApplication(sys.argv)
win=Mywindow()
win.pushButton_7.clicked.connect(win.btnClear_clicked)
win.pushButton.clicked.connect(win.btn1)
win.pushButton_2.clicked.connect(win.btn2)
win.pushButton_3.clicked.connect(win.btn3)
win.pushButton_4.clicked.connect(win.btn_plus)
win.pushButton_5.clicked.connect(win.btn4)
win.pushButton_6.clicked.connect(win.btn7)
win.pushButton_8.clicked.connect(win.btn5)
win.pushButton_9.clicked.connect(win.btn8)
win.pushButton_10.clicked.connect(win.btn0)
win.pushButton_11.clicked.connect(win.btn6)
win.pushButton_12.clicked.connect(win.btn9)
win.pushButton_13.clicked.connect(win.btnequal)
win.pushButton_14.clicked.connect(win.btn_sub)
win.pushButton_15.clicked.connect(win.btn_mul)
win.pushButton_16.clicked.connect(win.btn_div)
win.show()
sys.exit(app.exec_())
```
pushButton.clicked.connect()括号中应该填连接的函数吗
是的,括号中应该填连接的函数名。具体来说,这个函数名应该是一个槽函数,可以在程序中实现相应的功能。当 pushButton 被点击时,这个槽函数就会被执行。例如,下面的代码就是将 pushButton 的 clicked 信号连接到一个名为 on_pushButton_clicked 的槽函数:
```
pushButton.clicked.connect(self.on_pushButton_clicked)
```
在这个例子中,self 表示当前的对象,on_pushButton_clicked 是一个槽函数的名称。当 pushButton 被点击时,on_pushButton_clicked 函数就会被执行。