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_())
  • 相关阅读:
    抽象类与接口 【转载】
    linux网卡驱动程序架构
    linux回环网卡驱动设计
    命令行启动appium服务
    Java+Maven的工程运行Sonar的方式
    使用Fabric在tomcat中部署应用的问题总结
    Fabric的使用总结
    利用xcode Build生成模拟器运行包
    Jenkins配置git/github 插件的ssh key
    Jenkins插件--通知Notification
  • 原文地址:https://www.cnblogs.com/lynsha/p/13409258.html
Copyright © 2011-2022 走看看