PyQt6 QSlider how to set groove color?

78 Views Asked by At

I want to set the groove color of a slider. The default is orange, below I try to set it to green but this does nothing .. what am I getting wrong? Maybe my naming is wrong. Can anyone correct the code below to set the lower portion of the slider to green?

import sys
from PyQt6 import QtWidgets, QtCore


class MainWindow(QtWidgets.QMainWindow):

    def __init__(self):
        super().__init__()

        self.setFixedWidth(400)
        self.setFixedHeight(400)
        self.setStyleSheet("background: yellow")

        self.slider = QtWidgets.QSlider(QtCore.Qt.Orientation.Vertical)
        styles = "QSlider::sub-page:vertical { background: green; }"
        self.slider.setStyleSheet(styles)
        self.slider.setFixedHeight(300)
        self.slider.setMinimum(0)
        self.slider.setMaximum(100)
        self.slider.setValue(50)

        self.layout().addWidget(self.slider)

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    ex = MainWindow()
    ex.show()
    sys.exit(app.exec())
0

There are 0 best solutions below