create custom signals in pyqt5 code example

Example 1: pyqt5 create own signal

from PyQt4.QtCore import QObject, pyqtSignal, pyqtSlot
 
class PunchingBag(QObject):
    ''' Represents a punching bag; when you punch it, it
        emits a signal that indicates that it was punched. '''
    punched = pyqtSignal()
 
    def __init__(self):
        # Initialize the PunchingBag as a QObject
        QObject.__init__(self)
 
    def punch(self):
        ''' Punch the bag '''
        self.punched.emit()

Example 2: pyqt5 create own signal

# Punch the bag 10 times
for i in range(10):
    bag.punch()