На этом шаге мы рассмотрим назначение, форматы конструктора и основные методы этого класса.
Класс QIcon представляет значки в различных размерах, режимах и состояниях. Обратите внимание, что он не наследует класс QPaintDevice, - следовательно, мы не можем использовать его как поверхность для рисования. Форматы конструктора:
<Объект> = QIcon() <Объект> = QIcon(<Путь к файлу>) <Объект> = QIcon(<QPixmap>) <Объект> = QIcon(<QIcon>)
Первый конструктор создает пустой объект значка. Второй конструктор выполняет загрузку значка из файла, причем файл загружается при первой попытке использования, а не сразу. Третий конструктор создает значок на основе экземпляра класса QPixmap, а четвертый - создает копию значка.
Класс QIcon поддерживает следующие методы (здесь приведены только основные - полный их список можно найти на странице https://doc.qt.io/qt-5/qicon.html):
pixmap(<Ширина>, <Высота>[, mode=Normal] [, state=Off]) pixmap(<Ширина и высота>[, mode=Normal] [, state=Off]) pixmap(<QSize>[, mode=Normal] [, state= Off])
Во втором формате первый параметр задает и ширину, и высоту значка (предполагается, что значок имеет квадратную форму).
Вместо загрузки значка из файла можно воспользоваться одним из встроенных в PyQt5 стандартных значков. Загрузить стандартный значок позволяет следующий код:
ico = window.style().standardIcon(QtWidgets.QStyle.SP_MessageBoxCritical)
Увидеть список всех встроенных значков можно в документации к классу QStyle по адресу: https://doc.qt.io/qt-5/qstyle.html#StandardPixmap-enum.
Со следующего шага мы начнем рассматривать графическую сцену.