zoukankan      html  css  js  c++  java
  • 滑动条-QSlider

    QSlider控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。

    QSlider类中的常用方法

      setMinimum()    设置滑动条控件的最小值

      setMaximum()      设置滑动条控件的最大值

      setSingleStep()    设置滑动条控件递增/递减的步长值

      setValue()       设置滑动条控件的值

      value()          获得滑动条控件的值

      setTickInterval()      设置刻度间隔

      setTickPosition()   设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线相对于滑块和用户操作的位置。以下是可以输入的枚举值:

                  QSlider.NoTicks,不绘制任何刻度线

                  QSlider.TicksBothSides,在滑块的两侧绘制刻度线

                  QSlider.TicksAbove,在(水平)滑块上方绘制刻度线

                  QSlider.TicksBelow,在(水平)滑块下方绘制刻度线

                  QSlider.TicksLeft,在(垂直)滑块左侧绘制刻度线

                  QSlider.TicksRight,在(垂直)滑块右侧绘制刻度线

    QSlider类中的常用信号

      valueChanged     当滑块的值发生改变时发射此信号,此信号是最常用的

      sliderPressed      当用户按下滑块时发射此信号

      sliderMoved      当用户拖动滑块时发射此信号

      sliderReleased    当用户释放滑块时发射此信号

    案例19  QSlider的使用

    import sys
    from PyQt5.QtCore import Qt
    from PyQt5.QtGui import QFont
    from PyQt5.QtWidgets import QWidget, QApplication, QSlider, QComboBox, QLabel, QVBoxLayout
    
    
    class SliderDemo(QWidget):
        def __init__(self, parent=None):
            super().__init__(parent)
            self.setWindowTitle("Slider 例子")
            self.resize(300, 100)
    
            layout = QVBoxLayout()
            self.lb1 = QLabel("Hello PyQt5")
            self.lb1.setAlignment(Qt.AlignCenter)
            layout.addWidget(self.lb1)
            # 水平方向
            self.sl = QSlider(Qt.Horizontal)
    
            self.sl.setMinimum(10)  # 设置最小值
            self.sl.setMaximum(50)  # 设置最大值
            self.sl.setSingleStep(3)  # 步长
            self.sl.setValue(20)  # 设置当前值
            self.sl.setTickPosition(QSlider.TicksBelow)  # 刻度位置,刻度在下方
            self.sl.setTickInterval(5)  # 设置刻度间隔
    
            layout.addWidget(self.sl)
            self.sl.valueChanged.connect(self.valuechange)
            self.setLayout(layout)
    
        def valuechange(self):
            print("current slider value=%s:" % self.sl.value())
            size = self.sl.value()
            self.lb1.setFont(QFont("Arial", size))
    
    
    if __name__ == "__main__":
        app = QApplication(sys.argv)
        demo = SliderDemo()
        demo.show()
        sys.exit(app.exec_())
  • 相关阅读:
    ios中的几种多线程实现
    在mac下使用终端管理svn
    关于UIScrollViewDelegate协议中每个回调函数的意义及执行顺序的理解
    UIView 及其子类对象 抖动效果的实现
    ios、andriod、cocos2d 视图层次理解
    委托  通知中心   监听/观察
    iphone 中使用苹果禁用的私有Framework
    关于苹果官方网站Reachability检测网络的总结
    iOS设备的分辨率
    ios开发多线程、网络请求的理解 错误码的理解
  • 原文地址:https://www.cnblogs.com/lynsha/p/13409258.html
Copyright © 2011-2022 走看看