PyQt5 QSlider控件应用

 不知道步长是什么意思,不管怎么设置步长都可以拖到一个随意值而不是步长的整数倍

from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QSlider, QHBoxLayout, QApplication, QFrame, QWidget


class Slider(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.setUI()

    def setUI(self):
        self.slh = QSlider(Qt.Horizontal) #水平slider
        self.slh.setMinimum(0) #设置最小值
        self.slh.setMaximum(100) #设置最大值
        self.slh.setSingleStep(1) #设置步长
        self.slh.setValue(0) #设置当前初始值
        self.slh.setTickPosition(QSlider.TicksAbove) #设置刻度在上方
        self.slh.setTickInterval(10) #设置每个刻度的间隔
        self.slh.valueChanged.connect(self.printslhValue) #连接打印值的槽函数
        self.slv = QSlider(Qt.Vertical) #垂直slider
        self.slv.setMinimum(0) #设置最小值
        self.slv.setMaximum(1000) #设置最大值
        self.slv.setSingleStep(10) #设置步长,每次移动的最小值
        self.slv.setValue(0) #设置当前初始值
        self.slv.setTickPosition(QSlider.TicksRight) #设置刻度在右边
        self.slv.setTickInterval(100) #设置每个刻度的间隔
        self.slv.valueChanged.connect(self.printslvValue) #连接打印值的槽函数
        self.layoutLeft = QHBoxLayout()
        self.layoutLeft.addWidget(self.slv)
        self.layoutRight = QHBoxLayout()
        self.layoutRight.addWidget(self.slh)
        self.widGetLeft = QFrame()
        self.widGetLeft.setLayout(self.layoutLeft)
        self.widGetRight = QFrame()
        self.widGetRight.setLayout(self.layoutRight)
        self.hbox = QHBoxLayout()
        self.hbox.addWidget(self.widGetLeft)
        self.hbox.addWidget(self.widGetRight)
        self.setLayout(self.hbox)

    def printslhValue(self):
        print(self.slh.value())

    def printslvValue(self):
        print(self.slv.value())

if __name__ == "__main__":
    import sys

    app = QApplication(sys.argv)
    ex = Slider()
    ex.show()
    sys.exit(app.exec_())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值