前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PySide6 GUI 编程(13):QSlider的使用

PySide6 GUI 编程(13):QSlider的使用

原创
作者头像
bowenerchen
发布2024-07-24 19:03:09
980
发布2024-07-24 19:03:09
举报
文章被收录于专栏:编码视界

示例代码

代码语言:python
代码运行次数:0
复制
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()

运行效果

slider 滑动效果
slider 滑动效果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 示例代码
  • 运行效果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档