- Qt 6.10
- Qt Widgets
- C++ Classes
- QLCDNumber
- Qt 6.10.3 Reference Documentation

# QLCDNumber Class

The QLCDNumber widget displays a number with LCD-like digits. More...

Header: | `#include <QLCDNumber>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Widgets)` `target_link_libraries(mytarget PRIVATE Qt6::Widgets)`
qmake: | `QT += widgets`
Inherits: | QFrame

- List of all members, including inherited members

## Public Types

enum | Mode { Hex, Dec, Oct, Bin }
enum | SegmentStyle { Outline, Filled, Flat }

## Properties

digitCount : int intValue : int mode : Mode | segmentStyle : SegmentStyle smallDecimalPoint : bool value : double

## Public Functions

| QLCDNumber(QWidget *parent = nullptr)
| QLCDNumber(uint numDigits, QWidget *parent = nullptr)
virtual | ~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

## Reimplemented Public Functions

virtual QSize | sizeHint() const override

## Public Slots

void | display(const QString &s)
void | display(double num)
void | display(int num)
void | setBinMode()
void | setDecMode()
void | setHexMode()
void | setOctMode()
void | setSmallDecimalPoint(bool)

## Signals

void | overflow()

## Reimplemented Protected Functions

virtual bool | event(QEvent *e) override
virtual void | paintEvent(QPaintEvent *) override

## Detailed Description

It can display a number in just about any size. It can display decimal, hexadecimal, octal or binary numbers. It is easy to connect to data sources using the display() slot, which is overloaded to take any of five argument types.

There are also slots to change the base with setMode() and the decimal point with setSmallDecimalPoint().

QLCDNumber emits the overflow() signal when it is asked to display something beyond its range. The range is set by setDigitCount(), but setSmallDecimalPoint() also influences it. If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.

These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, colon, degree sign (which is specified as single quote in the string) and space. QLCDNumber substitutes spaces for illegal characters.

It is not possible to retrieve the contents of a QLCDNumber object, although you can retrieve the numeric value with value(). If you really need the text, we recommend that you connect the signals that feed the display() slot to another slot as well and store the value there.

Incidentally, QLCDNumber is the very oldest part of Qt, tracing its roots back to a BASIC program on the Sinclair Spectrum.

See also QLabel and QFrame.

## Member Type Documentation

### enum QLCDNumber::Mode

This type determines how numbers are shown.

Constant | Value | Description
--- | --- | ---
`QLCDNumber::Hex` | `0` | Hexadecimal
`QLCDNumber::Dec` | `1` | Decimal
`QLCDNumber::Oct` | `2` | Octal
`QLCDNumber::Bin` | `3` | Binary

If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.

### enum QLCDNumber::SegmentStyle

This type determines the visual appearance of the QLCDNumber widget.

Constant | Value | Description
--- | --- | ---
`QLCDNumber::Outline` | `0` | gives raised segments filled with the background color.
`QLCDNumber::Filled` | `1` | gives raised segments filled with the windowText color.
`QLCDNumber::Flat` | `2` | gives flat segments filled with the windowText color.

## Property Documentation

### digitCount : int

This property holds the current number of digits displayed

Corresponds to the current number of digits. If QLCDNumber::smallDecimalPoint is false, the decimal point occupies one digit position.

By default, this property contains a value of 5.

Access functions:

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

See also smallDecimalPoint.

### intValue : int

This property holds the displayed value rounded to the nearest integer

This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.

If the displayed value is not a number, the property has a value of 0.

By default, this property contains a value of 0.

Access functions:

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

### mode : Mode

This property holds the current display mode (number base)

Corresponds to the current display mode, which is one of `Bin`, `Oct`, `Dec` (the default) and `Hex`. `Dec` mode can display floating point values, the other modes display the integer equivalent.

Access functions:

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

See also smallDecimalPoint(), setHexMode(), setDecMode(), setOctMode(), and setBinMode().

### segmentStyle : SegmentStyle

This property holds the style of the LCDNumber.

Style | Result
--- | ---
`Outline` | Produces raised segments filled with the background color
`Filled` (this is the default). | Produces raised segments filled with the foreground color.
`Flat` | Produces flat segments filled with the foreground color.

`Outline` and `Filled` will additionally use QPalette::light() and QPalette::dark() for shadow effects.

Access functions:

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

### smallDecimalPoint : bool

This property holds the style of the decimal point

If true the decimal point is drawn between two digit positions. Otherwise it occupies a digit position of its own, i.e. is drawn in a digit position. The default is false.

The inter-digit space is made slightly wider when the decimal point is drawn between the digits.

Access functions:

bool | smallDecimalPoint() const
void | setSmallDecimalPoint(bool)

See also mode.

### value : double

This property holds the displayed value

This property corresponds to the current value displayed by the LCDNumber.

If the displayed value is not a number, the property has a value of 0.

By default, this property contains a value of 0.

Access functions:

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

## Member Function Documentation

### `[explicit]` QLCDNumber::QLCDNumber(QWidget *parent = nullptr)

Constructs an LCD number, sets the number of digits to 5, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle() is set to `Outline`.

The parent argument is passed to the QFrame constructor.

See also setDigitCount() and setSmallDecimalPoint().

### `[explicit]` QLCDNumber::QLCDNumber(uint numDigits, QWidget *parent = nullptr)

Constructs an LCD number, sets the number of digits to numDigits, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle() is set to `Filled`.

The parent argument is passed to the QFrame constructor.

See also setDigitCount() and setSmallDecimalPoint().

### `[virtual noexcept]` QLCDNumber::~QLCDNumber()

Destroys the LCD number.

### bool QLCDNumber::checkOverflow(double num) const

Returns `true` if num is too big to be displayed in its entirety; otherwise returns `false`.

See also display(), digitCount(), and smallDecimalPoint().

### bool QLCDNumber::checkOverflow(int num) const

Returns `true` if num is too big to be displayed in its entirety; otherwise returns `false`.

This is an overloaded function.

See also display(), digitCount(), and smallDecimalPoint().

### int QLCDNumber::digitCount() const

Returns the current number of digits.

Note: Getter function for property digitCount.

See also setDigitCount().

### `[slot]` void QLCDNumber::display(const QString &s)

Displays the number represented by the string s.

This version of the function disregards mode() and smallDecimalPoint().

These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, colon, degree sign (which is specified as single quote in the string) and space. QLCDNumber substitutes spaces for illegal characters.

Note: Setter function for properties intValue and value.

Note: This slot is overloaded. To connect to this slot:

     // Connect using qOverload:
     connect(sender, &SenderClass::signal,
             lCDNumber, qOverload(&QLCDNumber::display));

     // Or using a lambda as wrapper:
     connect(sender, &SenderClass::signal,
             lCDNumber, [receiver = lCDNumber](const QString &s) { receiver->display(s); });

For more examples and approaches, see connecting to overloaded slots.

### `[slot]` void QLCDNumber::display(double num)

Displays the number num.

Note: Setter function for properties intValue and value.

Note: This slot is overloaded. To connect to this slot:

     // Connect using qOverload:
     connect(sender, &SenderClass::signal,
             lCDNumber, qOverload(&QLCDNumber::display));

     // Or using a lambda as wrapper:
     connect(sender, &SenderClass::signal,
             lCDNumber, [receiver = lCDNumber](double num) { receiver->display(num); });

For more examples and approaches, see connecting to overloaded slots.

### `[slot]` void QLCDNumber::display(int num)

Displays the number num.

Note: Setter function for properties intValue and value.

Note: This slot is overloaded. To connect to this slot:

     // Connect using qOverload:
     connect(sender, &SenderClass::signal,
             lCDNumber, qOverload(&QLCDNumber::display));

     // Or using a lambda as wrapper:
     connect(sender, &SenderClass::signal,
             lCDNumber, [receiver = lCDNumber](int num) { receiver->display(num); });

For more examples and approaches, see connecting to overloaded slots.

### `[override virtual protected]` bool QLCDNumber::event(QEvent *e)

Reimplements: QFrame::event(QEvent *e).

### `[signal]` void QLCDNumber::overflow()

This signal is emitted whenever the QLCDNumber is asked to display a too-large number or a too-long string.

It is never emitted by setDigitCount().

### `[override virtual protected]` void QLCDNumber::paintEvent(QPaintEvent *)

Reimplements: QFrame::paintEvent(QPaintEvent *).

### `[slot]` void QLCDNumber::setBinMode()

Calls setMode(Bin). Provided for convenience (e.g. for connecting buttons to it).

See also setMode(), setHexMode(), setDecMode(), setOctMode(), and mode().

### `[slot]` void QLCDNumber::setDecMode()

Calls setMode(Dec). Provided for convenience (e.g. for connecting buttons to it).

See also setMode(), setHexMode(), setOctMode(), setBinMode(), and mode().

### void QLCDNumber::setDigitCount(int numDigits)

Sets the current number of digits to numDigits. Must be in the range 0..99.

Note: Setter function for property digitCount.

See also digitCount().

### `[slot]` void QLCDNumber::setHexMode()

Calls setMode(Hex). Provided for convenience (e.g. for connecting buttons to it).

See also setMode(), setDecMode(), setOctMode(), setBinMode(), and mode().

### `[slot]` void QLCDNumber::setOctMode()

Calls setMode(Oct). Provided for convenience (e.g. for connecting buttons to it).

See also setMode(), setHexMode(), setDecMode(), setBinMode(), and mode().

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

Reimplements: QFrame::sizeHint() const.