zoukankan      html  css  js  c++  java
  • 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()

  • 相关阅读:
    2. Django每日一码 之as_view() 源码
    gdb
    Mex文件在VS2010中调试方法
    intel ipp6.0安装过程
    C++开源库大全
    Win7下搭建Go语言开发环境
    for_each使用方法详解
    使用VS2012编译和使用C++ STL(STLport)
    django css
    google mock C++单元测试框架
  • 原文地址:https://www.cnblogs.com/ribavnu/p/4672880.html
Copyright © 2011-2022 走看看