基本Widgets(26):【类】QLCDNumber[官翻]

QLCDNumber Class

QLCDNumber小部件用类似LCD的数字显示一个数字。

Header#include < QLCDNumber >
qmakeQT += widgets
InheritsQFrame
Inherited By

详细说明

img

它可以显示任何大小的数字。它可以显示十进制,十六进制,八进制或二进制数字。使用display() 槽连接到数据源是很容易的,它被重载为五种参数类型中的任何一种。

还有一些插槽可以使用setMode() 更改进制,使用setMallDecimalPoint() 更改小数点。

当要求QLCDNumber显示超出其范围的内容时,它会发出溢出() 信号。范围由setDigitCount() 设置,但setMallDecimalPoint() 也会影响它。如果显示设置为十六进制、八进制或二进制,则显示与该值相等的整数。
这些数字和其他符号可以显示: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、冒号(在字符串中指定为单引号)和空格。QLCDNumber用空格代替非法字符。

虽然可以使用value() 检索数值,但无法检索QLCDNumber对象的内容。如果您真的需要文本,我们建议您将馈送display() 插槽的信号也连接到另一个插槽,并将值存储在那里。

顺便说一句,QLCDNumber是Qt最古老的部分,它的根源可以追溯到Sinclair谱上的一个基本程序。

公共类型

enum Mode

此类型确定数字的显示方式。

ConstantValueDescription
QLCDNumber::Hex0Hexadecimal
QLCDNumber::Dec1Decimal
QLCDNumber::Oct2Octal
QLCDNumber::Bin3Binary

如果显示设置为十六进制、八进制或二进制,则显示与该值相等的整数。

enum SegmentStyle

此类型决定QLCDNumber小部件的视觉外观。

ConstantValueDescription
QLCDNumber::Outline0给凸起的部分填充背景色。
QLCDNumber::Filled1提供用windowText颜色填充的凸起段。
QLCDNumber::Flat2提供用windowText颜色填充的扁平段。

属性

  1. digitCount: int 当前显示的位数
    对应于当前的位数。如果QLCDNumber::smallDecimalPoint为false,则小数点占据一位数的位置。
    默认情况下,此属性包含值5。

    Access functions:

    • int digitCount() const
    • void setDigitCount(int numDigits)

  2. intValue: int 舍入到最接近整数的显示值

    此属性对应于与LCDNumber显示的当前值最接近的整数。这是用于十六进制、八进制和二进制模式的值。
    如果显示的值不是数字,则该属性的值为0。

    默认情况下,此属性包含值0。

    Access functions:

    • int intValue() const
    • void display(const QString &s)
    • void display(int num)
    • void display(double num)

  3. mode: Mode 当前显示模式(数字进制)

    对应当前显示模式,即Bin、Oct、Dec(默认)和Hex之一。Dec模式可以显示浮点值,其他模式显示等效整数。

    Access functions:

    • QLCDNumber::Mode mode() const
    • void setMode(QLCDNumber::Mode)

  4. segmentStyle: SegmentStyle LCDNumber的样式

    StyleResult
    Outline生成填充背景色的凸起线段
    Filled (this is the default).产生充满前景色的凸起部分。
    Flat生成充满前景色的平面段。

    Outline和Filled还将使用QPalette::light()和QPalette::dark()实现阴影效果。
    Access functions:

    • QLCDNumber::SegmentStyle segmentStyle() const
    • void setSegmentStyle(QLCDNumber::SegmentStyle)

  5. smallDecimalPoint: bool 小数点的样式
    如果为真,则小数点在两位之间。否则,它将占据自己的数字位置,即在数字位置绘制。默认值为false。
    当在数字之间画小数点时,数字之间的空间会稍微变宽。

    Access functions:

    • bool smallDecimalPoint() const
    • void setSmallDecimalPoint(bool)

  6. value: double 显示的值 (保持了实际的值)
    此属性与LCDNumber显示的当前值相对应。
    如果显示的值不是数字,则该属性的值为0。
    默认情况下,此属性包含值0。

    Access functions:

    • double value() const
    • void display(const QString &s)
    • void display(int num)
    • void display(double num)

公共函数

构造和析构

  1. QLCDNumber(uint numDigits, QWidget *parent = nullptr)
  2. QLCDNumber(QWidget *parent = nullptr)
  3. virtual ~QLCDNumber()

属性相关

  1. int digitCount() const
  2. void setDigitCount(int numDigits)
  3. int intValue() const
  4. QLCDNumber::Mode mode() const
  5. void setMode(QLCDNumber::Mode)
  6. QLCDNumber::SegmentStyle segmentStyle() const
  7. void setSegmentStyle(QLCDNumber::SegmentStyle)
  8. bool smallDecimalPoint() const
  9. double value() const

其他

  1. bool checkOverflow(double num) const 如果num太大而无法完整显示,则返回true;否则返回false。

  2. bool checkOverflow(int num) const 重载

重写的公共函数

  1. virtual QSize sizeHint() const override

公共槽

  1. void display(double num)
  2. void display(int num)
  3. void display(const QString &s)
  4. void setBinMode()
  5. void setDecMode()
  6. void setHexMode()
  7. void setOctMode()
  8. void setSmallDecimalPoint(bool)

信号

  1. void overflow() 每当要求QLCDNumber显示过大的数字或过长的字符串时,就会发出此信号。
    它从不由setDigitCount()发出。

重写的受保护函数

  1. virtual bool event(QEvent *e) override
  2. virtual void paintEvent(QPaintEvent *) override

参见

  • 数字时钟示例 Digital Clock Example
  • Tetrix示例 Tetrix Example
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值