QLCDNumber 类

QLCDNumber 小部件以 LCD 类似的数字显示一个数字。 更多...

头文件 #include <QLCDNumber>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets
继承 QFrame

公共类型

枚举模式 { 十六进制, 十进制, 八进制, 二进制 }
枚举分段样式 { 轮廓, 填充, 平面 }

属性

公共函数

QLCDNumber(QWidget *parent = nullptr)
QLCDNumber(uint numDigits, QWidget *parent = nullptr)
虚拟~QLCDNumber()
boolcheckOverflow(double num) const
boolcheckOverflow(int num) const
intdigitCount() const
intintValue() const
QLCDNumber::Modemode() const
QLCDNumber::SegmentStylesegmentStyle() const
voidsetDigitCount(int numDigits)
voidsetMode(QLCDNumber::Mode)
voidsetSegmentStyle(QLCDNumber::SegmentStyle)
boolsmallDecimalPoint() const
doublevalue() const

重实现的公共函数

virtual QSizesizeHint() const override

公共槽

voiddisplay(const QString &s)
voiddisplay(int num)
voiddisplay(double num)
voidsetBinMode()
voidsetDecMode()
voidsetHexMode()
voidsetOctMode()
voidsetSmallDecimalPoint(bool)

信号

voidoverflow()

重实现的受保护功能

virtual boolevent(QEvent *e) override
virtual voidpaintEvent(QPaintEvent *) override

详细说明

它可以显示几乎任何大小的数字。它可以显示十进制、十六进制、八进制或二进制数。它可以通过使用display() 槽轻松连接到数据源,该槽可以接受五种不同的参数类型。

还有通过 setMode() 改变基数和通过 setSmallDecimalPoint() 改变小数点的槽。

当请求显示超出范围的数字时,QLCDNumber 会发出 overflow() 信号。范围由 setDigitCount() 设置,但 setSmallDecimalPoint() 也会影响它。如果显示设置为十六进制、八进制或二进制,则显示值的整数等效项。

以下数字和其他符号可以被显示出来: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 将用空格代替非法字符。

不能检索 QLCDNumber 对象的内容,虽然你可以通过 value() 获取数值。如果确实需要文本,我们建议将向 display() 槽提供信息的信号也连接到另一个槽,并将值存储在那里。

顺便说一句,QLCDNumber 是 Qt 最早的组成部分之一,其根源可以追溯到在 Sinclair Spectrum 上的 BASIC 程序。

另请参阅:QLabelQFrame

成员类型文档

enum QLCDNumber::Mode

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

常量描述
QLCDNumber::Hex0十六进制
QLCDNumber::Dec1十进制
QLCDNumber::Oct2八进制
QLCDNumber::Bin3二进制

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

enum QLCDNumber::SegmentStyle

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

常量描述
QLCDNumber::Outline0高亮的段落填充背景颜色。
QLCDNumber::Filled1高亮的段落填充窗口文本颜色。
QLCDNumber::Flat2平实的段落填充窗口文本颜色。

属性文档

digitCount : int

此属性表示当前显示的数字数量

对应于当前数字的数量。如果 QLCDNumber::smallDecimalPoint 为 false,小数点占用一个数字位置。

默认情况下,此属性包含一个值为 5。

访问函数

intdigitCount() const
voidsetDigitCount(int numDigits)

另请参阅smallDecimalPoint

intValue : int

此属性表示显示的值四舍五入到最接近的整数

此属性对应于LCDNumber显示当前值的最近整数。这是十六进制、八进制和二进制模式中使用的值。

如果显示的值不是数字,则该属性值为0。

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

访问函数

intintValue() const
voiddisplay(const QString &s)
voiddisplay(int num)
voiddisplay(double num)

mode : Mode

该属性存储当前显示模式(数制)

对应于当前显示模式,可以是以下之一:BinOctDec(默认)和Hex。在Dec模式中可以显示浮点值,其他模式显示整数等效。

访问函数

QLCDNumber::Modemode() const
voidsetMode(QLCDNumber::Mode)

另请参阅smallDecimalPoint()、setHexMode()、setDecMode()、setOctMode()和setBinMode()。

segmentStyle : SegmentStyle

此属性存储LCDNumber的样式

样式结果
轮廓生成填充背景色的凸起段
Filled(这是默认值)。生成填充前景色的凸起段。
平面生成填充前景色的平面段。

OutlineFilled将还使用QPalette::light()和QPalette::dark()生成阴影效果。

访问函数

QLCDNumber::SegmentStylesegmentStyle() const
voidsetSegmentStyle(QLCDNumber::SegmentStyle)

smallDecimalPoint : bool

该属性存储小数点的样式

如果为true,小数点绘制在两个数字位置之间。否则,它占据自己的数字位置,即在数字位置中绘制。默认为false。

当小数点绘制在数字之间时,数字之间的间距会略微变宽。

访问函数

boolsmallDecimalPoint() const
voidsetSmallDecimalPoint(bool)

另请参阅mode

value : double

该属性存储显示的值

此属性对应于LCDNumber显示的当前值。

如果显示的值不是数字,则该属性值为0。

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

访问函数

doublevalue() const
voiddisplay(const QString &s)
voiddisplay(int num)
voiddisplay(double num)

成员函数文档

[显式] QLCDNumber::QLCDNumber(QWidget *parent = nullptr)

构建一个LCD数字,将位数设置为5,基数设置为十进制,小数点模式设置为'small',框架样式设置为凸起框。将segmentStyle()设置为Outline

parent参数传递给QFrame构造函数。

另请参阅setDigitCount()和setSmallDecimalPoint

[明确] QLCDNumber::QLCDNumber(uint numDigits, QWidget *parent = nullptr)

构建一个LCD数字,将数字的位数设置为numDigits,基数设置为十进制,小数点模式设置为“小”,边框样式设置为凸框。 segmentStyle()设置为填充

parent参数传递给QFrame构造函数。

另请参阅setDigitCount()和setSmallDecimalPoint

[虚,noexcept] QLCDNumber::~QLCDNumber()

销毁LCD数字。

bool QLCDNumber::checkOverflow(double num) const

如果num太大而无法完全显示,则返回true;否则返回false

另请参阅display(),digitCount()和smallDecimalPoint

bool QLCDNumber::checkOverflow(int num) const

这是一个重载函数。

如果num太大而无法完全显示,则返回true;否则返回false

另请参阅display(),digitCount()和smallDecimalPoint

int QLCDNumber::digitCount() const

返回当前的数字位数。

注意:digitCount属性的获取函数。

另请参阅setDigitCount

[槽] void QLCDNumber::display(const QString &s)

显示字符串s表示的数字。

此版本的函数忽略mode()和smallDecimalPoint

以下数字和其他符号可以显示: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用空格替换非法字符。

注意:intValue属性的设置函数。是value属性的设置函数。

[槽] void QLCDNumber::display(int num)

这是一个重载函数。

显示数字num

注意:intValue属性的设置函数。是value属性的设置函数。

[槽] void QLCDNumber::display(double num)

这是一个重载函数。

显示数字num

注意:intValue属性的设置函数。是value属性的设置函数。

[覆盖虚受保护] bool QLCDNumber::event(QEvent *e)

重写:QFrame::event(QEvent *e)。

[信号] void QLCDNumber::overflow()

QLCDNumber被要求显示太大的数字或太长的字符串时,此信号被发射。

它永远不会由setDigitCount发射。

[覆盖虚受保护] void QLCDNumber::paintEvent(QPaintEvent *)

重写:QFrame::paintEvent(QPaintEvent *)。

[slot] void QLCDNumber::setBinMode()

调用 setMode(Bin)。为了方便(例如将按钮连接到它)。

另请参阅setMode(),setHexMode(),setDecMode(),setOctMode() 和 mode()。

[slot] void QLCDNumber::setDecMode()

调用 setMode(Dec)。为了方便(例如将按钮连接到它)。

另请参阅setMode(),setHexMode(),setOctMode(),setBinMode() 和 mode()。

void QLCDNumber::setDigitCount(int numDigits)

设置当前数字数量为 numDigits。必须在 0..99 的范围内。

注意:属性 digitCount 的设置函数。

另请参阅digitCount()。

[slot] void QLCDNumber::setHexMode()

调用 setMode(Hex)。为了方便(例如将按钮连接到它)。

另请参阅setMode(),setDecMode(),setOctMode(),setBinMode() 和 mode()。

[slot] void QLCDNumber::setOctMode()

调用 setMode(Oct)。为了方便(例如将按钮连接到它)。

另请参阅setMode(),setHexMode(),setDecMode(),setBinMode() 和 mode()。

[override virtual] QSize QLCDNumber::sizeHint() const

重新实现: QFrame::sizeHint() const

© 2024 Qt 公司 Ltd. 本文档贡献者的文档版权属于各自所有者。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 许可的。Qt 和相应标志是芬兰和/或其他国家的 Qt 公司的 商标。所有其他商标均为各自所有者的财产。