Buy Me a Coffee? Your support is much appreciated!
demo.py
import sys
from PyQt6.QtWidgets import (QApplication, QWidget, QSlider, QLabel ,
QHBoxLayout, QVBoxLayout)
from PyQt6.QtCore import Qt
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.window_width, self.window_height = 400, 300
self.setWindowTitle('QSlider Example')
self.setMinimumSize(self.window_width, self.window_height)
self.setStyleSheet('''
QWidget {
font-size: 14px;
}
''')
self.layout = {}
self.layout['main'] = QVBoxLayout()
self.setLayout(self.layout['main'])
self.label = QLabel('Hello', alignment=Qt.AlignmentFlag.AlignCenter)
self.layout['main'].addWidget(self.label)
self.insert_slider_widget()
def insert_slider_widget(self):
self.slider = QSlider(Qt.Orientation.Horizontal)
# self.slider.setOrientation(Qt.Orientation.Horizontal)
self.layout['main'].addWidget(self.slider)
# set slider range
self.slider.setRange(1, 50)
# initial value
self.slider.setValue(20)
# insert ticker
self.slider.setTickPosition(QSlider.TickPosition.TicksBelow)
self.slider.setTickInterval(1)
# attach a function to the value change signal
self.slider.valueChanged.connect(self.update_label_font_size)
# call update_label_font_size method
self.update_label_font_size(self.slider.value())
def update_label_font_size(self, font_size):
self.label.setStyleSheet('font-size: {0}px'.format(font_size))
if __name__ == '__main__':
app = QApplication(sys.argv)
app.setStyleSheet('''
QWidget {
font-size: 14px;
}
''')
myApp = MyApp()
myApp.show()
try:
sys.exit(app.exec())
except SystemExit:
print('Closing Window...')