코드

from PyQt5.QtWidgets import QWidget, QApplication,QLabel,QSlider
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap 
import sys

class 슬라이더위젯(QWidget):

    def __init__(self):
        super().__init__()
        self.UI초기화()
    
    def UI초기화(self):

        sli = QSlider(Qt.Vertical,self)
        sli.setGeometry(200,50,100,200) 
        sli.setTickPosition(QSlider.TicksLeft) 
        sli.valueChanged[int].connect(self.changeValue)

        self.img = QLabel(self)
        self.img.setPixmap(QPixmap('chapter4/mute.png'))
        self.img.adjustSize() 
        self.img.move(30,70)
        
        self.label = QLabel(f'범위:{sli.minimum()} ~ {sli.maximum()}', self)
        self.label.move(50,200)

        self.label2 = QLabel(self)
        self.label2.move(50,250)
        self.label2.setFixedWidth(30)

        self.setGeometry (300, 300, 400, 400) 
        self.setWindowTitle ('QSlider') 
        self.show() 

    def changeValue(self,value):
        self.label2.setText(str(value))

        if value == 0:
            self.img.setPixmap(QPixmap('chapter4/mute.png')) 
        elif 0 < value <= 30:
            self.img.setPixmap(QPixmap('chapter4/min.png')) 
        elif 30 < value <= 80:
            self.img.setPixmap(QPixmap('chapter4/medium.png'))
        else:
            self.img.setPixmap(QPixmap('chapter4/max.png')) 
             

프로그램무한반복 = QApplication(sys.argv)
실행인스턴스 = 슬라이더위젯()
프로그램무한반복.exec_()

설명

결과

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bf7616f8-71cc-40c9-9e4c-09a35be9ddd1/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/afc92c0e-e195-4ccb-afb5-240db3cd86bb/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9916dc18-67f9-4003-8591-253d6a258929/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/b4a9c256-6fbf-4b18-ba82-810f2697c63e/Untitled.png