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_())
  • 相关阅读:
    摄像机标定公式推导
    roscpp源码阅读
    机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)
    机器学习(Machine Learning)&深度学习(Deep Learning)资料(下)
    【概率论与数理统计】全概率公式和贝叶斯公式
    机器学习之一些基本概念及符号系统
    机器学习之代价函数(cost function)
    机器学习之逻辑回归(Logistic Regression)
    机器学习之神经网络模型-下(Neural Networks: Representation)
    机器学习之神经网络模型-上(Neural Networks: Representation)
  • 原文地址:https://www.cnblogs.com/lynsha/p/13409258.html
Copyright © 2011-2022 走看看