pyqt的多Button的点击事件的槽函数的区分发送signal的按钮。

关键函数:QPushButton的setObjectName()/objectName()

个人注解:按功能或者区域,将按钮的点击事件绑定的不同的槽函数上。

from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QHBoxLayout,
QLineEdit)
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys def clickHandle():
##main代表按钮的容器widget的对象
button = main.sender()
print(button.objectName()) if __name__ == '__main__':
app=QApplication(sys.argv)
main=QWidget() latout = QHBoxLayout()
main.setLayout(latout) but_1 = QPushButton('but_1')
but_1.setObjectName('but_1')
but_1.clicked.connect(clickHandle)
but_2 = QPushButton('but_2')
but_2.setObjectName('but_2')
but_2.clicked.connect(clickHandle) edit_1 = QLineEdit()
edit_2 = QLineEdit() latout.addWidget(but_1)
latout.addWidget(but_2) latout.addWidget(edit_1)
latout.addWidget(edit_2) main.show()
app.exec_()

个人注解:

哪个object对象执行的signal的emit(),则该signal联接的slot的中的sender()就是该object对象。

或者说: 谁emit(),谁就是sender()

上一篇:开放数据接口 API 简介与使用场景、调用方法


下一篇:[转帖]SAP一句话入门:Production Planning