QLCDNumber LCD样式标签
-
描述
- 展示LCD样式的数字
- 它可以显示几乎任何大小的数字
- 它可以显示十进制,十六进制,八进制或二进制数
- 能够展示的字符
0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y : ' 空格
-
继承自:QFrame
-
功能作用
- 构造函数
QLCDNumber(parent: QWidget = None) # 创建对象的同时设置父控件 QLCDNumber(int, parent: QWidget = None) # 创建对象的同时设置显示位数和父控件 # 参数1代表展示的数值最大位数 # 文本类型超出最大位数将抹除前面部分 # 整型类型超出最大位数将显示为0 # 浮点类型中的小数点也占一位,超出位数将四舍五入显示
- 设置显示数值
display(str) # 通过字符串设置显示数值 display(float) # 通过浮点类型设置显示数值 display(int) # 通过整型数值设置显示数值 intValue() -> int # 获取值,返回Int类型 value() -> float # 获取值,返回浮点类型
- 位数限制
setDigitCount(int) # 设置最大显示位数 digitCount() -> int # 获取最大显示位数
- 模式设置
setMode(self, QLCDNumber.Mode) mode(self) -> QLCDNumber.Mode # 参数:QLCDNumber.Mode # QLCDNumber.Hex # 十六进制 # QLCDNumber.Dec # 十进制 # QLCDNumber.Oct # 八进制 # QLCDNumber.Bin # 二进制
快捷设置模式(静态方法)
setHexMode() setDecMode() setOctMode() setBinMode() ```
- 溢出(超过最大位数)
checkOverflow(self, float) -> bool # 判断指定浮点数据位数是否超过最大位数(溢出) checkOverflow(self, int) -> bool # 判断指定整型数据位数是否超过最大位数(溢出)
- 分段样式
setSegmentStyle(self, QLCDNumber.SegmentStyle) segmentStyle(self) -> QLCDNumber.SegmentStyle # 参数:QLCDNumber.SegmentStyle # QLCDNumber.Outline # 生成填充了背景颜色的凸起部分 # QLCDNumber.Filled # 默认值,生成填充前景色的凸起部分。 # QLCDNumber.Flat # 生成填充前景色的平坦段。
- 构造函数
-
可用信号
overflow() # 数据溢出时发射
- 示例代码
- 示例1:QLCDNumber-功能作用
from PyQt5.Qt import * import sys class Windows(QWidget): def __init__(self): super().__init__() self.setWindowTitle('QLCDNumber-功能作用') self.resize(500, 500) self.widget_list() def widget_list(self): self.add_widget() def add_widget(self): # 构造函数 lcd1 = QLCDNumber(self) # 创建对象的同时设置父对象 lcd2 = QLCDNumber(15, self) # 创建对象的同时设置显示位数和父对象 lcd3 = QLCDNumber(self) lcd1.resize(500, 50) lcd2.resize(500, 50) lcd3.resize(500, 50) lcd1.move(50, 0) lcd2.move(50, 100) lcd3.move(50, 200) pass # QLCDNumber控件能够显示的内容 # lcd1.display('0123456789') # lcd2.display('ABCDEFhHLoPruUY') # lcd3.display(": '") pass # 设置显示内容 # lcd1.display('123456') # lcd2.display(123456) # lcd3.display(123.456) pass # 设置显示位数 # lcd1.setDigitCount(8) # lcd2.setDigitCount(8) # lcd3.setDigitCount(8) # lcd1.display('123456789') # lcd2.display(123456789) # lcd3.display(123.456789) pass # 设置显示模式 # lcd4 = QLCDNumber(self) # lcd4.resize(500, 50) # lcd4.move(50, 300) # # # 方法一 # # lcd1.setMode(QLCDNumber.Hex) # 十六进制 # # lcd2.setMode(QLCDNumber.Dec) # 十进制 # # lcd3.setMode(QLCDNumber.Oct) # 八进制 # # lcd4.setMode(QLCDNumber.Bin) # 二进制 # # # 方法二 # lcd1.setHexMode() # lcd2.setDecMode() # lcd3.setOctMode() # lcd4.setBinMode() # # lcd1.display(12) # lcd2.display(12) # lcd3.display(12) # lcd4.display(12) pass # 溢出(判断数值位数是否超过显示最大位数) # lcd1.setDigitCount(2) # # print(lcd1.checkOverflow(99)) # 判断99是否超过2位 # print(lcd1.checkOverflow(100)) # 判断100是否超过2位 pass # 设置显示样式 # lcd1.setSegmentStyle(QLCDNumber.Outline) # lcd2.setSegmentStyle(QLCDNumber.Filled) # lcd3.setSegmentStyle(QLCDNumber.Flat) # # lcd1.display(99) # lcd2.display(99) # lcd3.display(99) pass # 可用信号 lcd1.setDigitCount(3) lcd2.setDigitCount(3) lcd1.overflow.connect(lambda :print('lcd1数值溢出了')) lcd2.overflow.connect(lambda :print('lcd2数值溢出了')) lcd1.display(999) lcd2.display(9999) if __name__ == '__main__': app = QApplication(sys.argv) window = Windows() window.show() sys.exit(app.exec_())