GUI学习之三十二—QLCDNumber学习总结
下面我们来总结一下QLCDNumber的用法
一.描述
QLCDNumber主要用来展示LCD样式的数字,他可以显示几乎任何大小的数字,可以显示十进制,十六进制,八进制或二进制数,也可以展示一些简单的字符:A,B,C,D,E,F,h,L,o,O,P,r,s,u,U,Y以及空格和度(')。
二.功能作用
1.构造
def __init__(self, numDigits: int, parent: typing.Optional[QWidget] = ...) -> None: ...
可以发现构造函数中可以传递一个数字,但是要注意的是这个数字并不是最终显示出的数字,而是能够显示数字的位数。
2.设置显示数值
QLCDNumber.display(self, str: str)
QLCDNumber.display(self, num: float)
QLCDNumber.display(self, num: int)
这里要注意的是如果我们前面设置了显示的位数,但是设置的数值超出了位数限制就默认情况只显示(0),并且小数点是占1位的。这个溢出的效果后面可以设置。
3.获取数值
QLCDNumber.intValue()
QLCDNumber.value()
函数返回的值为int或float,如果有非数字的字符,返回值为0,如果是显示小数获取整数时就四舍五入取值。
4.位数限制
QLCDNumber.setDigitCount(self, nDigits: int)
QLCDNumber.digitCount()
5.进制模式设置
QLCDNumber.setMode(self, a0: 'QLCDNumber.Mode') Hex = ... # type: 'QLCDNumber.Mode' Dec = ... # type: 'QLCDNumber.Mode' Oct = ... # type: 'QLCDNumber.Mode' Bin = ... # type: 'QLCDNumber.Mode'
但是这有个简单的方式来设置,注意下面的方法不用传递值,直接调用就可以了。
QLCDNumber.setHexMode()
QLCDNumber.setBinMode()
QLCDNumber.setDecMode()
QLCDNumber.setOctMode()
6.溢出判定
我们还可以给定个数,通过下面的代码判定他是否溢出
QLCDNumber.checkOverflow(self, num: float)-> bool
QLCDNumber.checkOverflow(self, num: int) -> bool
· 由于数据溢出会异常显示,我们在设置显示值的时候应该先对其进行判定。
7.分段样式
有三种分段样式
QLCDNumber.setSegmentStyle(self, a0: 'QLCDNumber.SegmentStyle') Outline = ... # type: 'QLCDNumber.SegmentStyle' Filled = ... # type: 'QLCDNumber.SegmentStyle' Flat = ... # type: 'QLCDNumber.SegmentStyle'
从上到下的显示效果,主要是填充效果的不同。
三.信号
QLCDNumber只有一个信号
QLCDNumber.overflow()
在显示值溢出的时候触发,没有携带参数。