067.PyQt5_QLCDNumber_LCD样式标签

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_())

你可能感兴趣的:(PyQt5,pyqt5,python,gui,python,pyqt,qt)