from PySide6.QtCore import Qt
from PySide6.QtWidgets import QApplication, QLayout, QMainWindow, QSlider, QVBoxLayout, QWidget
def slider_mouse_changed(value: int):
print('slider text changed:', value)
def slider_value_changed(value: int):
print('slider value int changed:', value)
class MySlider(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Slider App')
# 默认垂直
self.my_slider = QSlider()
# self.my_slider = QSlider(Qt.Orientation.Vertical)
self.my_slider.setMaximum(100)
self.my_slider.setMinimum(0)
self.my_slider.setSingleStep(1)
self.my_slider.valueChanged.connect(slider_value_changed)
self.my_slider.sliderMoved.connect(slider_mouse_changed)
self.my_slider.sliderPressed.connect(self.slider_pressed)
self.my_slider.sliderReleased.connect(self.slider_released)
self.my_slider_h = QSlider(Qt.Orientation.Horizontal)
self.my_slider_h.setMinimum(0)
self.my_slider_h.setSingleStep(1)
self.my_slider_h.valueChanged.connect(slider_value_changed)
self.my_slider_h.sliderMoved.connect(slider_mouse_changed)
self.my_slider_h.sliderPressed.connect(self.slider_pressed_h)
self.my_slider_h.sliderReleased.connect(self.slider_released_h)
layout = QVBoxLayout()
layout.addWidget(self.my_slider)
layout.addWidget(self.my_slider_h)
container = QWidget()
container.setLayout(layout)
self.setCentralWidget(container)
def slider_pressed(self):
print('slider pressed:', self.my_slider.sliderPosition())
def slider_released(self):
print('slider released:', self.my_slider.sliderPosition())
def slider_pressed_h(self):
print('slider h pressed:', self.my_slider_h.sliderPosition())
def slider_released_h(self):
print('slider h released:', self.my_slider_h.sliderPosition())
if __name__ == '__main__':
app = QApplication()
ins = MySlider()
ins.show()
app.exec()
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。