GUI学习之十七——QDoubleSpinBox学习总结

在上一章我总结了QSpinBox的使用方法,QSpinBox是用来操作整数或离散集合的,还有另外一种控件是用来操作浮点类数据的,就是QDoubleSpinBox。

一.描述

  QDoubleSpinBox和QSpinBox的用法基本一致,都是继承自QAbstractSpinBox这个父类的,既可以通过步长调节按钮调整数值,也得以通过键盘给文本框直接赋值。

二.功能作用

  1.构造函数

    可以直接声明控件,声明的控件默认状态是0-99.99,步长是1.0

  2.设置范围

#设置
QDoubleSpinBox.setMaximum()
QDoubleSpinBox.setMinimum()
QDoubleSpinBox.setRange()
#获取
QDoubleSpinBox.maximum()
QDoubleSpinBox.minimum()

  3.设置步长

#设置
QDoubleSpinBox.setSingleStep()
#获取
QDoubleSpinBox.singleStep()         #——>float

  4.设置前缀和后缀

#设置
QDoubleSpinBox.setPrefix()  #前缀
QDoubleSpinBox.setSuffix()  #后缀
#获取
QDoubleSpinBox.prefix()         
QDoubleSpinBox.suffix() 

   5.最小值对应文本

#设置
QDoubleSpinBox.setSpecialValueText()
#获取
QDoubleSpinBox.specialValueText()       #——>str

  6.显示精度(小数位数)

#设置
QDoubleSpinBox.setDecimals(int)
#获取
QDoubleSpinBox.decimals()               #——>int

  7.设置和获取数值

#设置
QDoubleSpinBox.setValue(int)
#获取
QDoubleSpinBox.value()       #——>float
QDoubleSpinBox.cleanText()   #——>str获取的不含前后缀、尾随空格等的数值部分的字符串

而如果用父类的

QDoubleSpinBox.text()

获取值则返回的是文本框里显示的状态,包含各种前后缀和空格等字符

  8.自定义样式

和QSpinBox的方式一样,对函数进行重构后对这个重写的类实例化调用就好了

class MyDoubleSpinBox(QDoubleSpinBox):
    def textFromValue(self, v: float):
        return v

三.信号

和QSpinBox控件一样的,只不过发送的信号是float的。注意一点

QDoubleSpinBox.valueChanged(int)
QDoubleSpinBox.valueChanged(str)

这两个信号是一样的,但是所携带的参数不同,就是说下面的信号是上面的信号的重载而不是说他是一个过期的用法。举个例子,是这样使用的

QDoubleSpinBox.valueChanged[str].connect(lambda val:print(val,type(val)))

加了[]就是告诉信号要携带的参数类型是字符串(默认的是float)

原文地址:https://www.cnblogs.com/yinsedeyinse/p/10903320.html