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

相關文章
相關標籤/搜索