QLCDNumber 类
QLCDNumber 小部件以 LCD 类似的数字显示一个数字。 更多...
| 头文件 | #include <QLCDNumber> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) | 
| qmake | QT += widgets | 
| 继承 | QFrame | 
公共类型
属性
| 
 | 
 | 
公共函数
| QLCDNumber(QWidget *parent = nullptr) | |
| QLCDNumber(uint numDigits, QWidget *parent = nullptr) | |
| 虚拟 | ~QLCDNumber() | 
| bool | checkOverflow(double num) const | 
| bool | checkOverflow(int num) const | 
| int | digitCount() const | 
| int | intValue() const | 
| QLCDNumber::Mode | mode() const | 
| QLCDNumber::SegmentStyle | segmentStyle() const | 
| void | setDigitCount(int numDigits) | 
| void | setMode(QLCDNumber::Mode) | 
| void | setSegmentStyle(QLCDNumber::SegmentStyle) | 
| bool | smallDecimalPoint() const | 
| double | value() const | 
重实现的公共函数
| virtual QSize | sizeHint() const override | 
公共槽
| void | display(const QString &s) | 
| void | display(int num) | 
| void | display(double num) | 
| void | setBinMode() | 
| void | setDecMode() | 
| void | setHexMode() | 
| void | setOctMode() | 
| void | setSmallDecimalPoint(bool) | 
信号
| void | overflow() | 
重实现的受保护功能
| virtual bool | event(QEvent *e) override | 
| virtual void | paintEvent(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 程序。
成员类型文档
enum QLCDNumber::Mode
此类型确定数字的显示方式。
| 常量 | 值 | 描述 | 
|---|---|---|
| QLCDNumber::Hex | 0 | 十六进制 | 
| QLCDNumber::Dec | 1 | 十进制 | 
| QLCDNumber::Oct | 2 | 八进制 | 
| QLCDNumber::Bin | 3 | 二进制 | 
如果显示设置为十六进制、八进制或二进制,则显示值的整数等效项。
enum QLCDNumber::SegmentStyle
此类型确定 QLCDNumber 小部件的视觉外观。
| 常量 | 值 | 描述 | 
|---|---|---|
| QLCDNumber::Outline | 0 | 高亮的段落填充背景颜色。 | 
| QLCDNumber::Filled | 1 | 高亮的段落填充窗口文本颜色。 | 
| QLCDNumber::Flat | 2 | 平实的段落填充窗口文本颜色。 | 
属性文档
digitCount : int
此属性表示当前显示的数字数量
对应于当前数字的数量。如果 QLCDNumber::smallDecimalPoint 为 false,小数点占用一个数字位置。
默认情况下,此属性包含一个值为 5。
访问函数
| int | digitCount() const | 
| void | setDigitCount(int numDigits) | 
另请参阅smallDecimalPoint。
intValue : int
此属性表示显示的值四舍五入到最接近的整数
此属性对应于LCDNumber显示当前值的最近整数。这是十六进制、八进制和二进制模式中使用的值。
如果显示的值不是数字,则该属性值为0。
默认情况下,此属性包含一个值为0。
访问函数
mode : Mode
该属性存储当前显示模式(数制)
对应于当前显示模式,可以是以下之一:Bin、Oct、Dec(默认)和Hex。在Dec模式中可以显示浮点值,其他模式显示整数等效。
访问函数
| QLCDNumber::Mode | mode() const | 
| void | setMode(QLCDNumber::Mode) | 
另请参阅smallDecimalPoint()、setHexMode()、setDecMode()、setOctMode()和setBinMode()。
segmentStyle : SegmentStyle
此属性存储LCDNumber的样式
| 样式 | 结果 | 
|---|---|
| 轮廓 | 生成填充背景色的凸起段 | 
| Filled(这是默认值)。 | 生成填充前景色的凸起段。 | 
| 平面 | 生成填充前景色的平面段。 | 
Outline和Filled将还使用QPalette::light()和QPalette::dark()生成阴影效果。
访问函数
| QLCDNumber::SegmentStyle | segmentStyle() const | 
| void | setSegmentStyle(QLCDNumber::SegmentStyle) | 
smallDecimalPoint : bool
该属性存储小数点的样式
如果为true,小数点绘制在两个数字位置之间。否则,它占据自己的数字位置,即在数字位置中绘制。默认为false。
当小数点绘制在数字之间时,数字之间的间距会略微变宽。
访问函数
| bool | smallDecimalPoint() const | 
| void | setSmallDecimalPoint(bool) | 
另请参阅mode。
value : double
该属性存储显示的值
此属性对应于LCDNumber显示的当前值。
如果显示的值不是数字,则该属性值为0。
默认情况下,此属性包含一个值为0。
访问函数
成员函数文档
[显式] 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用空格替换非法字符。
注意:是
[槽] void QLCDNumber::display(int num)
这是一个重载函数。
显示数字num。
注意:是
[槽] void QLCDNumber::display(double num)
这是一个重载函数。
显示数字num。
注意:是
[覆盖虚受保护] 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 公司的 商标。所有其他商标均为各自所有者的财产。