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 :