Класс QLCDNumber
Виджет QLCDNumber отображает число с помощью цифр, похожих на LCD-дисплей. Подробнее...
| Заголовок: | #include <QLCDNumber> |
| qmake: | QT += widgets |
| Наследует: | QFrame |
Типы публичного доступа
| Перечисление | Mode { Hex, Dec, Oct, Bin } |
| Перечисление | SegmentStyle { Outline, Filled, Flat } |
Свойства
|
|
Функции публичного доступа
| 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.
Документация по типам членов
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 ложно, десятичная точка занимает одну позицию цифры.
По умолчанию это свойство содержит значение 5.
Это свойство было введено в Qt 4.6.
Функции доступа:
| int | digitCount() const |
| void | setDigitCount(int numDigits) |
См. также smallDecimalPoint.
intValue : int
Это свойство содержит отображаемое значение, округлённое до ближайшего целого числа.
Это свойство соответствует ближайшему целому числу к текущему значению, отображаемому LCDNumber. Это значение используется для шестнадцатеричных, восьмеричных и двоичных режимов.
Если отображаемое значение не является числом, свойство имеет значение 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
Это свойство содержит стиль десятичной точки.
Если истинно, десятичная точка рисуется между двумя позициями цифр. В противном случае она занимает отдельную позицию цифры, т.е. рисуется в позиции цифры. Значение по умолчанию — ложно.
Межцифровое пространство делается немного шире, когда десятичная точка рисуется между цифрами.
Функции доступа:
| 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) |
Документация функций-членов
QLCDNumber::QLCDNumber(uint numDigits, QWidget *parent = nullptr)
Создаёт LCD-дисплей, устанавливает количество цифр в numDigits, систему счисления в десятичную, режим десятичной точки в «маленький» и стиль рамки в поднятую рамку. segmentStyle() установлено в Filled.
Аргумент parent передаётся конструктору QFrame.
См. также setDigitCount() и setSmallDecimalPoint().
QLCDNumber::QLCDNumber(QWidget *parent = nullptr)
Создаёт LCD-дисплей, устанавливает количество цифр в 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().
[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()
Удаляет объект LCD-дисплея.
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-5.13/qlcdnumber.html