Класс QLCDNumber
Виджет QLCDNumber отображает число с цифрами в формате ЖК-дисплея. Подробнее...
| Заголовок: | #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.
Документация по типам членов
перечисление QLCDNumber::Mode
Этот тип определяет, как отображаются числа.
| Константа | Значение | Описание |
|---|---|---|
QLCDNumber::Hex |
0 |
Шестнадцатеричное |
QLCDNumber::Dec |
1 |
Десятичное |
QLCDNumber::Oct |
2 |
Восьмеричное |
QLCDNumber::Bin |
3 |
Двоичное |
Если отображение настроено на шестнадцатеричное, восьмеричное или двоичное, отображается целое значение, эквивалентное значению.
перечисление QLCDNumber::SegmentStyle
Этот тип определяет визуальный вид виджета QLCDNumber.
| Константа | Значение | Описание |
|---|---|---|
QLCDNumber::Outline |
0 |
выдает поднятые сегменты, заполненные цветом фона. |
QLCDNumber::Filled |
1 |
выдает поднятые сегменты, заполненные цветом windowText. |
QLCDNumber::Flat |
2 |
выдает плоские сегменты, заполненные цветом windowText. |
Документация свойств
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, систему счисления в десятичную, режим десятичной точки в 'small' и стиль рамки в поднятую рамку. segmentStyle() устанавливается в Filled.
Аргумент parent передаётся конструктору QFrame.
См. также setDigitCount() и setSmallDecimalPoint().
QLCDNumber::QLCDNumber(QWidget *parent = nullptr)
Конструирует число LCD, устанавливает количество цифр в 5, систему счисления в десятичную, режим десятичной точки в 'small' и стиль рамки в поднятую рамку. 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()
Уничтожает числовой ЖК-дисплей.
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.15/qlcdnumber.html