このページでは

QLCDNumber Class

QLCDNumber ウィジェットは、LCDのような数字で数値を表示します。詳細...

ヘッダー: #include <QLCDNumber>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QFrame

パブリック型

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

プロパティ

パブリック関数

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

再実装されたパブリック関数

virtual QSize sizeHint() const override

パブリックスロット

void display(const QString &s)
void display(double num)
void display(int 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

詳細な説明

LCDのようなデジタル表示の「1234」

ほぼあらゆるサイズの数値を表示できます。10進数、16進数、8進数、2進数を表示可能です。display() スロットを使用すると、5つの引数型のいずれでも受け入れるようにオーバーロードされているため、データソースへの接続が簡単です。

また、setMode() スロットで基数を変更したり、setSmallDecimalPoint() スロットで小数点を変更したりすることもできます。

QLCDNumberは、その範囲を超える値を表示するよう要求された際に、overflow()シグナルを発行します。範囲はsetDigitCount()によって設定されますが、setSmallDecimalPoint()もこれに影響を与えます。表示が16進数、8進数、または2進数に設定されている場合、その値に相当する整数が表示されます。

表示可能な数字および記号は以下の通りです: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プログラムにまでさかのぼります。

QLabel およびQFrameも参照してください 。

メンバ型のドキュメント

enum QLCDNumber::Mode

このタイプは、数値の表示方法を決定します。

定数値説明
QLCDNumber::Hex016進数
QLCDNumber::Dec110進数
QLCDNumber::Oct28進数
QLCDNumber::Bin32進数

表示が16進数、8進数、または2進数に設定されている場合、その値に相当する整数が表示されます。

enum QLCDNumber::SegmentStyle

このタイプは、QLCDNumber ウィジェットの外観を決定します。

定数値説明
QLCDNumber::Outline0背景色で塗りつぶされた浮き上がったセグメントを表示します。
QLCDNumber::Filled1: 背景色で塗りつぶされた、浮き出たセグメントを表示します。: windowTextの色で塗りつぶされた、平らなセグメントを表示します。
QLCDNumber::Flat2windowText の色で塗りつぶされた平らなセグメントを生成します。

プロパティのドキュメント

digitCount : int

このプロパティには、現在表示されている桁数が格納されます

現在の桁数に対応します。QLCDNumber::smallDecimalPoint がfalseの場合、小数点は1桁分の位置を占めます。

デフォルトでは、このプロパティの値は 5 です。

アクセス関数:

int digitCount() const
void setDigitCount(int numDigits)

「smallDecimalPoint」も参照してください 。

intValue : int

このプロパティには、表示値が最も近い整数に丸められた値が格納されます

このプロパティは、LCDNumberによって表示されている現在の値に最も近い整数に対応します。これは、16進数、8進数、および2進数モードで使用される値です。

表示値が数値でない場合、このプロパティの値は 0 になります。

デフォルトでは、このプロパティの値は 0 です。

アクセス関数:

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

mode : Mode

このプロパティには、現在の表示モード(基数)が格納されます

現在の表示モードに対応しており、Bin 、Oct 、Dec (デフォルト)、Hex のいずれかになります。Dec モードでは浮動小数点値を表示でき、その他のモードではそれに対応する整数を表示します。

アクセス関数:

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

smallDecimalPoint()、setHexMode()、setDecMode()、setOctMode()、およびsetBinMode()も参照してください 。

segmentStyle : SegmentStyle

このプロパティは、LCDNumberのスタイルを保持します。

スタイル結果
Outline背景色で塗りつぶされた浮き上がったセグメントを生成します
Filled (これがデフォルトです)で、浮き上がったセグメントを生成します。前景色で塗りつぶされた、浮き上がったセグメントを生成します。
Flat前景色で塗りつぶされた平らなセグメントを生成します。

Outline また、Filled では、影の効果を出すためにQPalette::light()およびQPalette::dark()が追加で使用されます。

アクセス関数:

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

smallDecimalPoint : bool

このプロパティは、小数点の表示形式を指定します。

trueの場合、小数点は2つの桁の位置の間に描画されます。それ以外の場合は、小数点自体が1つの桁の位置を占めます。つまり、桁の位置に描画されます。デフォルトはfalseです。

小数点が数字の間に描画される場合、数字間のスペースがわずかに広くなります。

アクセス関数:

bool smallDecimalPoint() const
void setSmallDecimalPoint(bool)

modeも参照してください 。

value : double

このプロパティには、表示される値が格納されます

このプロパティは、LCDNumberによって現在表示されている値に対応しています。

表示値が数値でない場合、このプロパティの値は 0 になります。

デフォルトでは、このプロパティの値は 0 です。

アクセス関数:

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

メンバ関数のドキュメント

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

LCDの数値を生成し、桁数を5、基数を10進数、小数点モードを「small」、フレームスタイルを浮き出しボックスに設定します。segmentStyle()にはOutline が設定されます。

parent 引数は、QFrame コンストラクタに渡されます。

setDigitCount() およびsetSmallDecimalPoint()も参照してください 。

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

LCD数値を生成し、桁数をnumDigits に、基数を10進数に、小数点モードを「small」に、フレームスタイルを浮き出しボックスに設定します。segmentStyle()はFilled に設定されます。

parent 引数は、QFrame コンストラクタに渡されます。

setDigitCount() およびsetSmallDecimalPoint()も参照してください 。

[virtual 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()。

[slot] 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のセッター 関数。

注:この スロットは オーバーロードされています。このスロットに接続するには:

// 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); });
その他の例や手法については、「オーバーロードされたスロットへの接続」を参照してください。

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

num という数値を表示します。

注: プロパティintValue およびvalueのセッター 関数。

注:この スロットは オーバーロードされています。このスロットに接続するには:

// 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); });
その他の例や手法については、「オーバーロードされたスロットへの接続」を参照してください。

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

num という数値を表示します。

注: プロパティ `intValue ` および `value`のセッター 関数。

注:この スロットは オーバーロードされています。このスロットに接続するには:

// 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); });
その他の例や手法については、「オーバーロードされたスロットへの接続」を参照してください。

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

QFrame::event(QEvent *e) を再実装します。

[signal] void QLCDNumber::overflow()

このシグナルは、QLCDNumber に対して大きすぎる数値や長すぎる文字列の表示が要求された際に発生します。

setDigitCount() によってこのシグナルが発行されることはありません。

[override virtual protected] 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 (16進数)を呼び出します。利便性のため(例えば、ボタンをこれに接続する場合など)に用意されています。

setMode()、setDecMode()、setOctMode()、setBinMode()、およびmode()も参照してください 。

[slot] void QLCDNumber::setOctMode()

setMode (10月)を呼び出します。利便性のために提供されています(例:ボタンをこれに接続する場合など)。

setMode()、setHexMode()、setDecMode()、setBinMode()、およびmode()も参照してください 。

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

QFrame::sizeHint() const を再実装します。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.