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_())
  • 相关阅读:
    第六次学习笔记
    第四篇笔记
    第三篇学习笔记
    第二篇学习笔记
    第一篇学习笔记
    px与dp、sp之间的转换
    SQLite的使用(二):数据增删改查
    Logcat的级别以及Logcat的调试使用
    Android 创建服务(一)
    简说SQLite
  • 原文地址:https://www.cnblogs.com/lynsha/p/13409258.html
Copyright © 2011-2022 走看看