Spec-Zone.ru › Qt 5.13

Класс QPaintDevice

Класс QPaintDevice — базовый класс объектов, на которые можно рисовать с помощью класса QPainter. Подробнее...

Заголовок: #include <QPaintDevice>
qmake: QT += gui
Наследуется от:

QImage, QOpenGLPaintDevice, QPagedPaintDevice, QPaintDeviceWindow, QPicture и QPixmap

  • Список всех членов, включая унаследованные

Открытые типы

Перечисление PaintDeviceMetric { PdmWidth, PdmHeight, PdmWidthMM, PdmHeightMM, ..., PdmDevicePixelRatioScaled }

Открытые функции

виртуальный ~QPaintDevice()
int colorCount() const
int depth() const
int devicePixelRatio() const
qreal devicePixelRatioF() const
int height() const
int heightMM() const
int logicalDpiX() const
int logicalDpiY() const
виртуальный QPaintEngine * paintEngine() const = 0
bool paintingActive() const
int physicalDpiX() const
int physicalDpiY() const
int width() const
int widthMM() const

Защищенные функции

QPaintDevice()
виртуальный int metric(QPaintDevice::PaintDeviceMetric metric) const

Подробное описание

Устройство для рисования — это абстракция двумерного пространства, на котором можно рисовать с помощью QPainter. Его система координат по умолчанию имеет начало в верхнем левом углу. X увеличивается вправо, а Y — вниз. Единица измерения — один пиксель.

Возможности рисования QPaintDevice в настоящее время реализованы классами QWidget, QImage, QPixmap, QGLPixelBuffer, QPicture и подклассами QPrinter.

Чтобы добавить поддержку нового бэкенда, необходимо унаследовать от QPaintDevice и переопределить виртуальную функцию paintEngine(), чтобы указать QPainter, какой движок рисования следует использовать для рисования на данном устройстве. Обратите внимание, что вам также необходимо создать соответствующий движок рисования, чтобы иметь возможность рисовать на устройстве, то есть унаследовать от QPaintEngine и переопределить его виртуальные функции.

Предупреждение: Qt требует, чтобы объект QGuiApplication существовал до создания каких-либо устройств для рисования. Устройства для рисования обращаются к ресурсам системы окон, и эти ресурсы не инициализируются до создания объекта приложения.

Класс QPaintDevice предоставляет несколько функций, возвращающих различные метрики устройства: Функция depth() возвращает его глубину бита (количество плоскостей бита). Функция height() возвращает его высоту в единицах координатной системы по умолчанию (например, пиксели для QPixmap и QWidget), а heightMM() возвращает высоту устройства в миллиметрах. Аналогично, функции width() и widthMM() возвращают ширину устройства в единицах координатной системы по умолчанию и в миллиметрах соответственно. В качестве альтернативы, защищенная функция metric() может быть использована для получения информации о метрике, указав желаемую метрику PaintDeviceMetric в качестве аргумента.

Функции logicalDpiX() и logicalDpiY() возвращают горизонтальное и вертикальное разрешение устройства в точках на дюйм. Функции physicalDpiX() и physicalDpiY() также возвращают разрешение устройства в точках на дюйм, но обратите внимание, что если логическое и физическое разрешение отличаются, соответствующий QPaintEngine должен обрабатывать сопоставление. Наконец, функция colorCount() возвращает количество доступных цветов для устройства для рисования.

См. также QPaintEngine, QPainter, Система координат и Система рисования.

Документация по типам членов

Перечисление QPaintDevice::PaintDeviceMetric

Описывает различные метрики устройства для рисования.

Постоянная Значение Описание
QPaintDevice::PdmWidth 1 Ширина устройства для рисования в единицах координатной системы по умолчанию (например, пиксели для QPixmap и QWidget). См. также width().
QPaintDevice::PdmHeight 2 Высота устройства для рисования в единицах координатной системы по умолчанию (например, пиксели для QPixmap и QWidget). См. также height().
QPaintDevice::PdmWidthMM 3 Ширина устройства для рисования в миллиметрах. См. также widthMM().
QPaintDevice::PdmHeightMM 4 Высота устройства для рисования в миллиметрах. См. также heightMM().
QPaintDevice::PdmNumColors 5 Количество доступных цветов для устройства для рисования. См. также colorCount().
QPaintDevice::PdmDepth 6 Глубина бита (количество плоскостей бита) устройства для рисования. См. также depth().
QPaintDevice::PdmDpiX 7 Горизонтальное разрешение устройства в точках на дюйм. См. также logicalDpiX().
QPaintDevice::PdmDpiY 8 Вертикальное разрешение устройства в точках на дюйм. См. также logicalDpiY().
QPaintDevice::PdmPhysicalDpiX 9 Горизонтальное разрешение устройства в точках на дюйм. См. также physicalDpiX().
QPaintDevice::PdmPhysicalDpiY 10 Вертикальное разрешение устройства в точках на дюйм. См. также physicalDpiY().
QPaintDevice::PdmDevicePixelRatio 11 Коэффициент пикселей устройства для устройства. Типичные значения: 1 для дисплеев с нормальным разрешением и 2 для дисплеев с высоким разрешением «ретина».
QPaintDevice::PdmDevicePixelRatioScaled 12 Масштабированный коэффициент пикселей устройства для устройства. Идентичен PdmDevicePixelRatio, за исключением того, что значение масштабируется на постоянный множитель для поддержки устройств для рисования с дробными коэффициентами масштабирования. Используемый постоянный множитель масштабирования — devicePixelRatioFScale(). Эта константа была введена в Qt 5.6.

См. также metric() и devicePixelRatioF().

Документация по функциям членов

[protected] QPaintDevice::QPaintDevice()

Создаёт устройство отрисовки. Этот конструктор может быть вызван только из подклассов QPaintDevice.

[virtual] QPaintDevice::~QPaintDevice()

Уничтожает устройство отрисовки и освобождает ресурсы системы окон.

int QPaintDevice::colorCount() const

Возвращает количество доступных различных цветов для устройства отрисовки. Если количество доступных цветов слишком велико, чтобы быть представленным типом данных int, то вместо этого будет возвращено INT_MAX.

int QPaintDevice::depth() const

Возвращает разрядность (количество плоскостей битов) устройства отрисовки.

int QPaintDevice::devicePixelRatio() const

Возвращает коэффициент пикселей устройства для устройства.

Общие значения — 1 для дисплеев с обычной плотностью пикселей и 2 для дисплеев с высокой плотностью пикселей «Retina».

qreal QPaintDevice::devicePixelRatioF() const

Возвращает коэффициент пикселей устройства для устройства в виде числа с плавающей точкой.

Эта функция была введена в Qt 5.6.

int QPaintDevice::height() const

Возвращает высоту устройства отрисовки в единицах стандартной системы координат (например, пикселей для QPixmap и QWidget).

См. также heightMM().

int QPaintDevice::heightMM() const

Возвращает высоту устройства отрисовки в миллиметрах. Из-за ограничений платформы может быть невозможно использовать эту функцию для определения фактического физического размера виджета на экране.

См. также height().

int QPaintDevice::logicalDpiX() const

Возвращает горизонтальное разрешение устройства в точках на дюйм, которое используется при вычислении размеров шрифтов. Для X11 обычно это то же самое, что можно вычислить из widthMM().

Обратите внимание, что если logicalDpiX() не равно physicalDpiX(), соответствующий QPaintEngine должен обрабатывать отображение разрешения.

См. также logicalDpiY() и physicalDpiX().

int QPaintDevice::logicalDpiY() const

Возвращает вертикальное разрешение устройства в точках на дюйм, которое используется при вычислении размеров шрифтов. Для X11 обычно это то же самое, что можно вычислить из heightMM().

Обратите внимание, что если logicalDpiY() не равно physicalDpiY(), соответствующий QPaintEngine должен обрабатывать отображение разрешения.

См. также logicalDpiX() и physicalDpiY().

[virtual protected] int QPaintDevice::metric(QPaintDevice::PaintDeviceMetric metric) const

Возвращает информацию о метрике для данного устройства отрисовки metric.

См. также PaintDeviceMetric.

[pure virtual] QPaintEngine *QPaintDevice::paintEngine() const

Возвращает указатель на движок отрисовки, используемый для рисования на устройстве.

bool QPaintDevice::paintingActive() const

Возвращает true если устройство в настоящее время находится в процессе отрисовки, т.е. кто-то вызвал QPainter::begin(), но ещё не вызвал QPainter::end() для этого устройства; в противном случае возвращает false.

См. также QPainter::isActive().

int QPaintDevice::physicalDpiX() const

Возвращает горизонтальное разрешение устройства в точках на дюйм. Например, при печати это разрешение относится к физическому разрешению принтера. Логическое разрешение DPI, с другой стороны, относится к разрешению, используемому фактическим движком отрисовки.

Обратите внимание, что если physicalDpiX() не равно logicalDpiX(), соответствующий QPaintEngine должен обрабатывать отображение разрешения.

См. также physicalDpiY() и logicalDpiX().

int QPaintDevice::physicalDpiY() const

Возвращает горизонтальное разрешение устройства в точках на дюйм. Например, при печати это разрешение относится к физическому разрешению принтера. Логическое разрешение DPI, с другой стороны, относится к разрешению, используемому фактическим движком отрисовки.

Обратите внимание, что если physicalDpiY() не равно logicalDpiY(), соответствующий QPaintEngine должен обрабатывать отображение разрешения.

См. также physicalDpiX() и logicalDpiY().

int QPaintDevice::width() const

Возвращает ширину устройства отрисовки в единицах стандартной системы координат (например, пикселей для QPixmap и QWidget).

См. также widthMM().

int QPaintDevice::widthMM() const

Возвращает ширину устройства отрисовки в миллиметрах. Из-за ограничений платформы может быть невозможно использовать эту функцию для определения фактического физического размера виджета на экране.

См. также width().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qpaintdevice.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API