In this article we will see how we can make spin box enabled according to the user, disabled spin box is basically spin box which can’t be edited i.e which get disabled and enabled spin box is normal spin box, by default spin box is enabled. In order to make spin box disabled we use setDisabled
method.
In order to do so we use setEnabled
method.
Syntax : spin_box.setEnabled(bool)
Argument : It takes bool as argument
Return : It returns None
Implementation steps :
1. Create a spin box
2. Create a push button and add action to the push button
3. Inside the action make the spin box disabled
4. Create another push button and add action to it
5. Inside the action make the spin box enabled
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 , 250 , 40 ) # setting prefix to spin self .spin.setPrefix( "Prefix " ) # setting suffix to spin self .spin.setSuffix( " Suffix" ) # setting range to spin self .spin.setRange( 0 , 99999 ) # creating push button button = QPushButton( "Disable" , self ) # setting button geometry button.setGeometry( 100 , 160 , 100 , 40 ) # adding action to the push button button.clicked.connect( self .push_method) # creating push button e_button = QPushButton( "Enable" , self ) # setting button geometry e_button.setGeometry( 220 , 160 , 100 , 40 ) # adding action to the push button e_button.clicked.connect( self .another_method) # method called by push button def push_method( self ): # making spin box disabled self .spin.setDisabled( True ) # method called by e_button def another_method( self ): # making spin box enabled self .spin.setEnabled( True ) # create pyqt5 app App = QApplication(sys.argv) # create the instance of our Window window = Window() # start the app sys.exit(App. exec ()) |
Output :