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 |
詳細な説明

ほぼあらゆるサイズの数値を表示できます。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プログラムにまでさかのぼります。
メンバ型のドキュメント
enum QLCDNumber::Mode
このタイプは、数値の表示方法を決定します。
| 定数 | 値 | 説明 |
|---|---|---|
QLCDNumber::Hex | 0 | 16進数 |
QLCDNumber::Dec | 1 | 10進数 |
QLCDNumber::Oct | 2 | 8進数 |
QLCDNumber::Bin | 3 | 2進数 |
表示が16進数、8進数、または2進数に設定されている場合、その値に相当する整数が表示されます。
enum QLCDNumber::SegmentStyle
このタイプは、QLCDNumber ウィジェットの外観を決定します。
| 定数 | 値 | 説明 |
|---|---|---|
QLCDNumber::Outline | 0 | 背景色で塗りつぶされた浮き上がったセグメントを表示します。 |
QLCDNumber::Filled | 1 | : 背景色で塗りつぶされた、浮き出たセグメントを表示します。: windowTextの色で塗りつぶされた、平らなセグメントを表示します。 |
QLCDNumber::Flat | 2 | windowText の色で塗りつぶされた平らなセグメントを生成します。 |
プロパティのドキュメント
digitCount : int
このプロパティには、現在表示されている桁数が格納されます
現在の桁数に対応します。QLCDNumber::smallDecimalPoint がfalseの場合、小数点は1桁分の位置を占めます。
デフォルトでは、このプロパティの値は 5 です。
アクセス関数:
| int | digitCount() const |
| void | setDigitCount(int numDigits) |
「smallDecimalPoint」も参照してください 。
intValue : int
このプロパティには、表示値が最も近い整数に丸められた値が格納されます
このプロパティは、LCDNumberによって表示されている現在の値に最も近い整数に対応します。これは、16進数、8進数、および2進数モードで使用される値です。
表示値が数値でない場合、このプロパティの値は 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のスタイルを保持します。
| スタイル | 結果 |
|---|---|
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 です。
アクセス関数:
メンバ関数のドキュメント
[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 は、無効な文字をスペースに置き換えます。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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 という数値を表示します。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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 という数値を表示します。
注:この スロットは オーバーロードされています。このスロットに接続するには:
// 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.