Friday, October 17, 2025
HomeLanguagesPyQt5 QSpinBox – Adding action when object name changed

PyQt5 QSpinBox – Adding action when object name changed

In this article we will see how we can do something the object name of the spin box is changed, object name is basically name given to the object of spin box, when we find the object in the PyQt5 application with the help of object name with the help of findChild method. Object name can be set to the spin box with the help of setObjectName method.

Implementation steps –

1. Create a spin box
2. Set its object name
3. Show the object name with the help of label
4. Add action to the spin box when object name is changed which make the suffix of spin box change
5. Create a push button
6. Add action to the push button change the object name of spin box

In order to add action when object name is changed we use objectNameChanged.connect method..

Syntax : spin_box.objectNameChanged.connect(method name)

Argument : It takes method name as argument

Action performed : It will call the passed method

Below is the implementation




# importing libraries
from PyQt5.QtWidgets import * 
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import * 
from PyQt5.QtCore import * 
import sys
  
class Window(QMainWindow):
  
    def __init__(self):
        super().__init__()
  
        # setting title
        self.setWindowTitle("Python ")
  
        # setting geometry
        self.setGeometry(100, 100, 600, 400)
  
        # calling method
        self.UiComponents()
  
        # showing all the widgets
        self.show()
  
    # method for widgets
    def UiComponents(self):
  
        # creating spin box
        self.spin = QSpinBox(self)
  
        # setting geometry to spin box
        self.spin.setGeometry(100, 100, 150, 40)
  
        # setting suffix to spin
        self.spin.setSuffix(" Spin Box")
  
        # name
        name = "Geeky"
  
        # setting up object name
        self.spin.setObjectName(name)
  
        # adding action when the spin box object name is changed
        self.spin.objectNameChanged.connect(self.spin_method)
  
  
        # creating label
        self.label = QLabel(self)
  
        # setting geometry
        self.label.setGeometry(100, 200, 300, 40)
  
        # getting object name
        get_name = self.spin.objectName()
  
        # setting text to the label
        self.label.setText("Object Name : " + get_name)
  
        # creating a push button
        push = QPushButton("Press", self)
  
        # adding action to the push button
        push.pressed.connect(self.push_method)
  
    # method called when object name is changed
    def spin_method(self):
        # setting suffix
        self.spin.setSuffix(" Name changed")
  
    # method called by push button
    def push_method(self):
        # setting object name of spin box
        self.spin.setObjectName("New")
  
        # getting object name
        get_name = self.spin.objectName()
  
        # showing this new name to label
        self.label.setText("Object Name : " + get_name)
  
# create pyqt5 app
App = QApplication(sys.argv)
  
# create the instance of our Window
window = Window()
  
# start the app
sys.exit(App.exec())


Output :

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS