На этом шаге мы рассмотрим класс, используемый для задания такого компонента.
Класс QLCDNumber реализует электронный индикатор, в котором цифры и буквы отображаются отдельными сегментами - как на электронных часах или дисплее калькулятора (рисунок 1.
Рис.1. Компонент QLCDNumber
Текст приложения:
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets import sys app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.setWindowTitle("QLCDNumber") lcd = QtWidgets.QLCDNumber(8) lcd.display(1048576) vbox = QtWidgets.QVBoxLayout() vbox.addWidget(lcd) window.setLayout(vbox) window.show() sys.exit(app.exec_())
Индикатор позволяет отображать числа в двоичной, восьмеричной, десятичной и шестнадцатеричной системах счисления. Иерархия наследования выглядит так:
(QObject, QPaintDevice) - QWidget - QFrame - QLCDNumber
Форматы конструктора класса QLCDNumber:
<Объект> = QLCDNumber ([parent=<Родитель>]) <Объект> = QLCDNumber (<Количество цифр>[, parent=<Родитель>]
В параметре <Количество цифр> указывается количество отображаемых цифр - если оно не указано, используется значение 5.
Класс QLCDNumber поддерживает следующие методы (здесь приведены только основные - полный их список можно найти на странице https://doc.qt.io/qt-5/qlcdnumber.html):
lcd.display(1048576)
Вместо метода setMode() удобнее воспользоваться методами-слотами setHexMode(), setDecMode(), setOctMode() и setBinMode();
Класс QLCDNumber поддерживает сигнал overflow, генерируемый при попытке задать значение, которое не может быть отображено индикатором.
На следующем шаге мы рассмотрим индикатор хода процесса.