Slider in PyQt5 is used to set a value with the help of an indicator which can move back and forth over a graphical slide or bar. Many times one needs to provide values which lie between a range and in such cases slider is very useful. QSlider
is the class used to add slider in an application.
Example:
A window has a slider and a label(QSlider). The size of the text gets scaled in or out as one move the indicator of the slider.
from PyQt5 import QtCore, QtGui, QtWidgets import sys class Ui_MainWindow( object ): def setupUi( self , MainWindow): MainWindow.resize( 550 , 393 ) self .centralwidget = QtWidgets.QWidget(MainWindow) self .centralwidget.setObjectName( "centralwidget" ) self .slider = QtWidgets.QSlider( self .centralwidget) self .slider.setGeometry(QtCore.QRect( 190 , 100 , 160 , 16 )) self .slider.setOrientation(QtCore.Qt.Horizontal) # After each value change, slot "scaletext" will get invoked. self .slider.valueChanged.connect( self .scaletext) self .label = QtWidgets.QLabel( self .centralwidget) self .label.setGeometry(QtCore.QRect( 230 , 150 , 301 , 161 )) # set initial font size of label. self .font = QtGui.QFont() self .font.setPointSize( 7 ) self .label.setFont( self .font) MainWindow.setCentralWidget( self .centralwidget) self .retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi( self , MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate( "MainWindow" , "MainWindow" )) self .label.setText(_translate( "MainWindow" , "QSlider" )) def scaletext( self , value): # Change font size of label. Size value could # be anything consistent with the dimension of label. self .font.setPointSize( 7 + value / / 2 ) self .label.setFont( self .font) if __name__ = = "__main__" : app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_()) |
Output: