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 公司的 商标。所有其他商标均为各自所有者的财产。