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

 

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

 

我的注解:按功能或者区域,将按钮的点击事件绑定的不一样的槽函数上。app

 

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对象。ui

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

相关文章
相关标签/搜索