Класс QLCDNumber
Виджет QLCDNumber отображает число с цифровыми индикаторами, похожими на LCD. Подробнее...
| Заголовок: | #include <QLCDNumber> |
| CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
| Наследует: | QFrame |
Типы
| перечисление | Mode { Шестнадцатеричный, Десятичный, Восьмеричный, Двоичный } |
| перечисление | SegmentStyle { Контурный, Заполненный, Плоский } |
Свойства
|
|
Открытые функции
| QLCDNumber(uint numDigits, QWidget *parent = nullptr) | |
| QLCDNumber(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(double num) |
| void | display(int num) |
| void | display(const QString &s) |
| 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, уходящая корнями в программу BASIC на Sinclair Spectrum.
См. также QLabel, QFrame, Пример цифровых часов и Пример игры Tetrix.
Документация по типам членов
перечисление QLCDNumber::Mode
Этот тип определяет, как отображаются числа.
| Константа | Значение | Описание |
|---|---|---|
QLCDNumber::Hex |
0 |
Шестнадцатеричный |
QLCDNumber::Dec |
1 |
Десятичный |
QLCDNumber::Oct |
2 |
Восьмеричный |
QLCDNumber::Bin |
3 |
Двоичный |
Если отображение настроено на шестнадцатеричное, восьмеричное или двоичное, отображается целое значение, соответствующее значению.
перечисление QLCDNumber::SegmentStyle
Этот тип определяет визуальный вид виджета QLCDNumber.
| Константа | Значение | Описание |
|---|---|---|
QLCDNumber::Outline |
0 |
высота сегментов, заполненных цветом фона. |
QLCDNumber::Filled |
1 |
высота сегментов, заполненных цветом текста окна. |
QLCDNumber::Flat |
2 |
плоские сегменты, заполненные цветом текста окна. |
Документация свойств
digitCount : int
Это свойство хранит текущее количество отображаемых цифр.
Соответствует текущему количеству цифр. Если QLCDNumber::smallDecimalPoint ложно, десятичная точка занимает одну позицию цифры.
По умолчанию это свойство содержит значение 5.
Функции доступа:
| int | digitCount() const |
| void | setDigitCount(int numDigits) |
См. также smallDecimalPoint.
intValue : int
Это свойство хранит отображаемое значение, округлённое до ближайшего целого.
Это свойство соответствует ближайшему целому значению, отображаемому на ЖКИ-дисплее. Это значение используется для шестнадцатеричных, восьмеричных и двоичных режимов.
Если отображаемое значение не является числом, свойство имеет значение 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
Это свойство хранит стиль ЖКИ-дисплея.
| Стиль | Результат |
|---|---|
Outline |
Создаёт поднятые сегменты, заполненные цветом фона |
Filled (это значение по умолчанию). |
Создаёт поднятые сегменты, заполненные цветом переднего плана. |
Flat |
Создаёт плоские сегменты, заполненные цветом переднего плана. |
Outline и Filled дополнительно будут использовать QPalette::light() и QPalette::dark() для эффектов теней.
Функции доступа:
| QLCDNumber::SegmentStyle | segmentStyle() const |
| void | setSegmentStyle(QLCDNumber::SegmentStyle) |
smallDecimalPoint : bool
Это свойство хранит стиль десятичной точки.
Если истинно, десятичная точка рисуется между двумя позициями цифр. В противном случае она занимает собственную позицию цифры, то есть рисуется в позиции цифры. По умолчанию ложно.
Межцифровой пробел делается немного шире, когда десятичная точка рисуется между цифрами.
Функции доступа:
| bool | smallDecimalPoint() const |
| void | setSmallDecimalPoint(bool) |
См. также mode.
value : double
Это свойство хранит отображаемое значение.
Это свойство соответствует текущему значению, отображаемому на ЖКИ-дисплее.
Если отображаемое значение не является числом, свойство имеет значение 0.
По умолчанию это свойство содержит значение 0.
Функции доступа:
| double | value() const |
| void | display(const QString &s) |
| void | display(int num) |
| void | display(double num) |
Документация функций-членов
QLCDNumber::QLCDNumber(uint numDigits, QWidget *parent = nullptr)
Создаёт ЖКИ-дисплей, устанавливает количество цифр в numDigits, систему счисления в десятичную, режим десятичной точки в 'маленькую' и стиль рамки в поднятый прямоугольник. segmentStyle() устанавливается в Filled.
Аргумент parent передаётся конструктору QFrame.
См. также setDigitCount() и setSmallDecimalPoint().
QLCDNumber::QLCDNumber(QWidget *parent = nullptr)
Создаёт ЖКИ-дисплей, устанавливает количество цифр в 5, систему счисления в десятичную, режим десятичной точки в 'маленькую' и стиль рамки в поднятый прямоугольник. segmentStyle() устанавливается в Outline.
Аргумент parent передаётся конструктору QFrame.
См. также setDigitCount() и setSmallDecimalPoint().
[slot] void QLCDNumber::display(double num)
Это перегруженная функция.
Отображает число num.
Примечание: Функция-установщик для свойства intValue. Функция-установщик для свойства value.
[slot] void QLCDNumber::display(int num)
Это перегруженная функция.
Отображает число num.
Примечание: Функция-установщик для свойства intValue. Функция-установщик для свойства value.
[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.
[signal] void QLCDNumber::overflow()
Этот сигнал генерируется всякий раз, когда от QLCDNumber требуется отобразить слишком большое число или слишком длинную строку.
Он никогда не генерируется функцией setDigitCount().
[slot] void QLCDNumber::setBinMode()
Вызывает setMode(Bin). Предоставлено для удобства (например, для подключения кнопок к нему).
См. также setMode(), setHexMode(), setDecMode(), setOctMode(), и mode().
[slot] void QLCDNumber::setDecMode()
Вызывает setMode(Dec). Предоставлено для удобства (например, для подключения кнопок к нему).
См. также setMode(), setHexMode(), setOctMode(), setBinMode(), и mode().
END_OF_DOCUMENT_MARKER
[slot] void QLCDNumber::setHexMode()
Вызывает setMode(Hex). Предоставлено для удобства (например, для подключения кнопок к нему).
См. также setMode(), setDecMode(), setOctMode(), setBinMode() и mode().
[slot] void QLCDNumber::setOctMode()
Вызывает setMode(Oct). Предоставлено для удобства (например, для подключения кнопок к нему).
См. также setMode(), setHexMode(), setDecMode(), setBinMode() и mode().
[virtual] QLCDNumber::~QLCDNumber()
Уничтожает числовой ЖК-дисплей.
bool QLCDNumber::checkOverflow(double num) const
Возвращает true если num слишком велико, чтобы быть отображенным полностью; в противном случае возвращает false.
См. также display(), digitCount() и smallDecimalPoint().
bool QLCDNumber::checkOverflow(int num) const
Это перегруженный метод.
Возвращает true если num слишком велико, чтобы быть отображенным полностью; в противном случае возвращает false.
См. также display(), digitCount() и smallDecimalPoint().
int QLCDNumber::digitCount() const
Возвращает текущее количество цифр.
Примечание: Метод-геттер для свойства digitCount.
См. также setDigitCount().
[override virtual protected] bool QLCDNumber::event(QEvent *e)
Переопределяет: QFrame::event(QEvent *e).
[override virtual protected] void QLCDNumber::paintEvent(QPaintEvent *)
Переопределяет: QFrame::paintEvent(QPaintEvent *).
void QLCDNumber::setDigitCount(int numDigits)
Устанавливает текущее количество цифр в numDigits. Должно быть в диапазоне 0..99.
Примечание: Метод-сеттер для свойства digitCount.
См. также digitCount().
[override virtual] QSize QLCDNumber::sizeHint() const
Переопределяет: QFrame::sizeHint() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qlcdnumber.html