056.PyQt5_QDial_旋钮控件

QDial 旋钮控件

  • 描述
    • 倒圆的范围控制
    • 比如汽车仪表盘上的速度计
  • 继承自:QAbstractSlider
  • 功能作用
  • 继承自父类
  • 是否显示刻度
    setNotchesVisible(bool)
    notchesVisible() -> bool
    
  • 设置两个大刻度之间的间隔(距离)
    setPageStep(int)
    
  • 是否启用包裹
    • 启用则会在控件周边都设置上刻度, 可以任意指向
    • 启用后最大值与最小值刻度之间不再有缺口,无缝连接
    setWrapping(bool)
    wrapping() -> bool
    
  • 相邻两个刻度之间的间隔(距离)
    setNotchTarget(float)
    notchTarget() -> float
    
  • 缺口大小
    notchSize()     默认值1
    
  • 可用信号
    • 继承自父类
    sliderPressed()                                 # 滑块被按下时,发射信号
    sliderReleased()                                # 滑块被释放时,发射信号
    
    sliderMoved(int value)                          # 滑块被移动时,发射信号。传递滑块当前值    
    valueChanged(int value)                         # 值发生改变时,发射信号。传递滑块当前值
    
    actionTriggered(int action)                     # 触发指定行为时,发射信号。传递当前行为对应索引
     QAbstractSlider.SliderNoAction              # 滑块没有行为
     QAbstractSlider.SliderSingleStepAdd         # 1,滑块单步步长增加行为,按上下键
     QAbstractSlider.SliderSingleStepSub         # 2,滑块单步步长减少行为,按上下键
     QAbstractSlider.SliderPageStepAdd           # 3,滑块每页步长增加行为,按PgUp键
     QAbstractSlider.SliderPageStepSub           # 4,滑块每页步长减少行为,按PgDn键
     QAbstractSlider.SliderToMinimum             # 5,滑块移动到最小值行为
     QAbstractSlider.SliderToMaximum             # 6,滑块移动到最大值行为
     QAbstractSlider.SliderMove                  # 7,滑块移动行为,鼠标拖动滑块
    rangeChanged(int min,int max)                  # 数值范围发生改变时,发射信号。传递最小值和最大值
    

  • 代码示例
  • 示例1:QDial功能作用
    from PyQt5.Qt import *
    import sys
    
    class Windows(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle('QDial-功能作用')
            self.resize(500, 500)
            self.widget_list()
    
        def widget_list(self):
            self.add_widget()
    
    
        def add_widget(self):
            dia = QDial(self)
            dia.resize(100,100)
            x =int((self.width()-dia.width())/2)
            y = int((self.height()-dia.height()) / 2)
            dia.move(x, y)
    
            # 设置旋钮显示刻度
            dia.setNotchesVisible(True)
    
            # 设置两个大刻度之间的间隔距离(每页步长)
            dia.setPageStep(10)
    
            # 设置启用包裹(最小刻度和最大刻度之间不再有缺口)
            dia.setWrapping(True)
    
            # 设置相邻两个刻度之间的间隔距离
            dia.setNotchTarget(2)
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = Windows()
    
        window.show()
        sys.exit(app.exec_())
    
  • 示例2:通过旋转旋钮,设置字体大小
    from PyQt5.Qt import *
    import sys
    
    class Windows(QWidget):
        def __init__(self):
            super().__init__()
            self.setWindowTitle('QDial-通过旋钮调整字体大小')
            self.resize(500, 500)
            self.widget_list()
    
        def widget_list(self):
            self.add_widget()
    
    
        def add_widget(self):
            lab = QLabel(self)
            lab.setText("我要学Python")
    
            dia = QDial(self)
            dia.move(200, 200)
            dia.setNotchesVisible(True)
            dia.setRange(1, 72)
    
            def test(val):
                lab.setStyleSheet(f'font-size:{val}px;')
                lab.adjustSize()
    
            dia.valueChanged.connect(test)
    
    
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = Windows()
    
        window.show()
        sys.exit(app.exec_())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

失心疯_2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值