zoukankan      html  css  js  c++  java
  • PyQt5 控件学习(一个一个学习之QAbstractSlider)

    QAbstractSlider 继承图:

    QAbstractSlider 描述:

    它主要是范围内的整数值。

    滑块控件(鼠标),

    它的应用场景有:声音的调节,滚动条等,

    它总共有三种:

    QAbstractSlider 继承:

    它是继承QWidget的 

    我们这里通过QSlider 来学习 抽象类中的共有属性

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            slider  = QSlider(self)
            
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 功能作用:

    QAbstractSlider 功能作用之数值范围:

    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            slider  = QSlider(self)
            self.test()
    
            #通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val:self.label.setText(str(val)))
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200,200)
            self.label = label
    
    
    
    
    
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    通过 valueChanged信号 来查看数值范围
    from PyQt5.Qt import * #刚开始学习可以这样一下导入
    import sys
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400,400)
            self.set_ui()
    
    
        def set_ui(self):
            slider  = QSlider(self)
            self.test()
    
            #设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            #通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val:self.label.setText(str(val)))
    
    
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200,200)
            label.resize(100,30)
            self.label = label
    
    
    
    
    
    
    
    
    if __name__ == '__main__':
        app =QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    设置最大值和最小值

    QAbstractSlider 功能作用之当前数值:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            print("当前的数值:", self.slider.value())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 功能作用之步长:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            #步长设置
            slider.setSingleStep(5)  #步长指的是  上下键的步长  
            slider.setPageStep(10)  # 按翻页的步长
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            print("当前的数值:", self.slider.value())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 功能作用之是否追踪:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            #追踪设置
            print(slider.hasTracking())
            slider.setTracking(False)  # 这时,val 值就不会随着滑块变动而变动了
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            print("当前的数值:", self.slider.value())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 功能作用之滑块位置:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            #滑块位置
            slider.setSliderPosition(88)
            
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            print("当前的数值:", self.slider.value())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 功能作用之倒立外观:

    QAbstractSlider 功能作用之操作反转:

    QAbstractSlider 功能作用之滑块方向:

    QAbstractSlider 功能作用之是否按下:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            #倒立外观
            # slider.setInvertedAppearance(True)  # 最小的在最上
            # slider.setInvertedControls(True)  #  将控制也改了
    
            #改为水平
    
            slider.setOrientation(Qt.Horizontal)
    
            #是否按下
        
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            print("当前的数值:", self.slider.value())
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    QAbstractSlider 信号:

    from PyQt5.Qt import *  # 刚开始学习可以这样一下导入
    import sys
    
    
    class Window(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle("QAbstractSlider的学习")
            self.resize(400, 400)
            self.set_ui()
    
        def set_ui(self):
            slider = QSlider(self)
            self.slider = slider
            self.test()
    
            # 设置最大值 和最小值
            slider.setMaximum(100)
            slider.setMinimum(66)
    
            # 通过 valueChanged 来查看数值范围
            slider.valueChanged.connect(lambda val: self.label.setText(str(val)))
    
            #倒立外观
            # slider.setInvertedAppearance(True)  # 最小的在最上
            # slider.setInvertedControls(True)  #  将控制也改了
    
            #改为水平
    
            slider.setOrientation(Qt.Horizontal)
    
            ############################信号###############################
            #1
            # slider.sliderMoved.connect(lambda val:print(val))
    
            #2
            # slider.actionTriggered.connect(lambda val:print(val))
    
            #3
            slider.rangeChanged.connect(lambda min,max:print(min,max))
    
            ############################信号###############################
    
    
    
    
            btn = QPushButton(self)
            btn.setText("按钮")
            btn.move(0, 300)
            btn.clicked.connect(self.btn_clicked_slot)
    
        def test(self):
            label = QLabel(self)
            label.setText("0")
            label.move(200, 200)
            label.resize(100, 30)
            self.label = label
    
        def btn_clicked_slot(self):
            self.slider.setMaximum(99)
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
    
        window = Window()
        window.show()
    
        sys.exit(app.exec_())
    View Code

    总结:

    以上就是QAbstractSlider的内容,

    下面看具体的子类中特有的功能 先看QSlider :https://www.cnblogs.com/zach0812/p/11391472.html

  • 相关阅读:
    AJAX的使用
    django.template.exceptions.TemplateDoesNotExist: login.html报错
    cookie、session
    关于zipfile解压出现的字符编码问题
    使用jquery清空input 文本框中的内容
    DVWA SQL-injection 附python脚本
    关于itchat用法的一篇博文
    记录两个python itchat的用法博客网址
    pyinstaller 打包.exe文件记录遇到的问题
    用python编写的excel拆分小工具
  • 原文地址:https://www.cnblogs.com/zach0812/p/11390309.html
Copyright © 2011-2022 走看看