QPaintDevice Class

QPaintDevice 클래스는 QPainter 로 칠할 수 있는 객체의 기본 클래스입니다. 더 보기...

헤더: #include <QPaintDevice>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
에 의해 상속되었습니다:

QImage, QOpenGLPaintDevice, QPagedPaintDevice, QPaintDeviceWindow, QPicture, QPixmap, QSvgGenerator, 그리고 QWidget

공용 유형

enum PaintDeviceMetric { PdmWidth, PdmHeight, PdmWidthMM, PdmHeightMM, PdmNumColors, …, PdmDevicePixelRatioF_EncodedB }

공용 함수

virtual ~QPaintDevice()
int colorCount() const
int depth() const
qreal devicePixelRatio() const
qreal devicePixelRatioF() const
int height() const
int heightMM() const
int logicalDpiX() const
int logicalDpiY() const
virtual QPaintEngine *paintEngine() const = 0
bool paintingActive() const
int physicalDpiX() const
int physicalDpiY() const
int width() const
int widthMM() const

보호된 함수

QPaintDevice()
virtual int metric(QPaintDevice::PaintDeviceMetric metric) const

상세 설명

페인트 장치는 QPainter 를 사용하여 그릴 수 있는 2차원 공간의 추상화입니다. 기본 좌표계는 원점이 왼쪽 상단에 있습니다. X는 오른쪽으로 증가하고 Y는 아래쪽으로 증가합니다. 단위는 1픽셀입니다.

QPaintDevice의 그리기 기능은 현재 QWidget, QImage, QPixmap, QPicture, QPrinter 서브클래스에 의해 구현됩니다.

새로운 백엔드에 대한 지원을 구현하려면 QPaintDevice에서 파생하고 가상 paintEngine() 함수를 다시 구현하여 QPainter 이 특정 장치에 그리는 데 사용할 페인트 엔진을 알려야 합니다. 또한 장치에 그릴 수 있도록 해당 페인트 엔진을 만들어야 합니다. 즉, QPaintEngine 에서 파생하고 가상 함수를 다시 구현해야 합니다.

경고: Qt는 페인트 장치를 생성하기 전에 QGuiApplication 객체가 존재해야 합니다. 페인트 장치는 윈도우 시스템 리소스에 액세스하며, 이러한 리소스는 응용 프로그램 객체가 생성되기 전에 초기화되지 않습니다.

QPaintDevice 클래스는 다양한 장치 메트릭을 반환하는 여러 함수를 제공합니다: depth () 함수는 비트 심도(비트 평면 수)를 반환합니다. height () 함수는 기본 좌표계 단위(예: QPixmapQWidget 의 경우 픽셀)로 높이를 반환하고 heightMM() 함수는 장치의 높이를 밀리미터 단위로 반환합니다. 마찬가지로 width() 및 widthMM() 함수는 각각 기본 좌표계 단위와 밀리미터 단위로 장치의 너비를 반환합니다. 또는 보호된 metric() 함수를 사용하여 원하는 PaintDeviceMetric 을 인수로 지정하여 메트릭 정보를 검색할 수 있습니다.

logicalDpiX() 및 logicalDpiY() 함수는 장치의 수평 및 수직 해상도를 인치당 도트 수로 반환합니다. physicalDpiX () 및 physicalDpiY() 함수도 장치의 해상도를 인치당 도트 수로 반환하지만 논리적 해상도와 물리적 해상도가 다른 경우 해당 QPaintEngine 에서 매핑을 처리해야 한다는 점에 유의하세요. 마지막으로 colorCount() 함수는 페인트 장치에 사용할 수 있는 다양한 색상의 수를 반환합니다.

QPaintEngine, QPainter, 좌표계페인트 시스템도참조하세요 .

멤버 유형 문서

enum QPaintDevice::PaintDeviceMetric

페인트 장치의 다양한 메트릭을 설명합니다.

Constant설명
QPaintDevice::PdmWidth1기본 좌표계 단위(예: QPixmapQWidget 의 경우 픽셀)로 표시되는 페인트 장치의 너비입니다. width ()도 참조하세요.
QPaintDevice::PdmHeight2기본 좌표계 단위의 페인트 장치의 높이입니다(예: QPixmapQWidget 의 경우 픽셀). height ()도 참조하십시오.
QPaintDevice::PdmWidthMM3페인트 장치의 너비(밀리미터)입니다. widthMM ()도 참조하십시오.
QPaintDevice::PdmHeightMM4페인트 장치의 높이(밀리미터)입니다. heightMM ()도 참조하십시오.
QPaintDevice::PdmNumColors5페인트 장치에 사용할 수 있는 다양한 색상의 수입니다. colorCount ()도 참조하세요.
QPaintDevice::PdmDepth6페인트 장치의 비트 심도(비트 평면 수)입니다. depth ()도 참조하십시오.
QPaintDevice::PdmDpiX7장치의 수평 해상도(인치당 도트 수)입니다. logicalDpiX ()도 참조하십시오.
QPaintDevice::PdmDpiY8장치의 수직 해상도(인치당 도트 수)입니다. logicalDpiY ()도 참조하세요.
QPaintDevice::PdmPhysicalDpiX9장치의 수평 해상도(인치당 도트 수)입니다. physicalDpiX ()도 참조하세요.
QPaintDevice::PdmPhysicalDpiY10장치의 수직 해상도(인치당 도트 수)입니다. physicalDpiY ()도 참조하십시오.
QPaintDevice::PdmDevicePixelRatio11장치의 장치 픽셀 비율입니다. 일반적인 값은 일반 dpi 디스플레이의 경우 1, 고해상도 "망막" 디스플레이의 경우 2입니다.
QPaintDevice::PdmDevicePixelRatioScaled12장치에 대한 배율된 장치 픽셀 비율입니다. 분수 배율이 있는 페인트 장치를 지원하기 위해 값이 상수 배율로 조정된다는 점을 제외하면 PdmDevicePixelRatio와 동일합니다. 사용되는 상수 스케일링 계수는 devicePixelRatioFScale()입니다. 이 열거형 값은 Qt 5.6에 도입되었습니다.
QPaintDevice::PdmDevicePixelRatioF_EncodedA (since Qt 6.8)13이 열거형 항목은 해당 B 항목과 함께 장치의 픽셀 비율에 인코딩된 double 부동 소수점 값으로 함께 사용됩니다. 분수 DPR 값을 지원하는 QPaintDevice 서브클래스는 metric() 함수에 대한 재정의에서 이 두 열거형 항목에 대한 지원을 구현해야 합니다. 반환 값은 encodeMetricF() 함수의 결과가 될 것으로 예상됩니다.
QPaintDevice::PdmDevicePixelRatioF_EncodedB (since Qt 6.8)14PdmDevicePixelRatioF_EncodedA를 참조하십시오.

metric() 및 devicePixelRatio()도 참조하십시오 .

멤버 함수 문서

[noexcept protected] QPaintDevice::QPaintDevice()

페인트 장치를 구축합니다. 이 생성자는 QPaintDevice의 서브 클래스에서만 호출할 수 있습니다.

[virtual noexcept] QPaintDevice::~QPaintDevice()

페인트 장치를 파괴하고 창 시스템 리소스를 해제합니다.

int QPaintDevice::colorCount() const

페인트 장치에 사용할 수 있는 다양한 색의 수를 반환합니다. 사용 가능한 색상 수가 너무 많아서 int 데이터 유형으로 표현할 수 없는 경우 INT_MAX가 대신 반환됩니다.

int QPaintDevice::depth() const

페인트 장치의 비트 심도(비트 평면 수)를 반환합니다.

qreal QPaintDevice::devicePixelRatio() const

디바이스의 디바이스 픽셀 비율을 반환합니다.

일반적인 값은 일반 dpi 디스플레이의 경우 1, 고해상도 "망막" 디스플레이의 경우 2입니다.

qreal QPaintDevice::devicePixelRatioF() const

디바이스의 디바이스 픽셀 비율을 부동 소수점 숫자로 반환합니다.

int QPaintDevice::height() const

페인트 장치의 높이를 기본 좌표계 단위(예: QPixmapQWidget 의 경우 픽셀)로 반환합니다.

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

누군가 이 디바이스에 대해 QPainter::begin()을 호출했지만 아직 QPainter::end()을 호출하지 않은 경우 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

QPainter::isActive()도 참조하세요 .

int QPaintDevice::physicalDpiX() const

장치의 가로 해상도를 인치당 도트 수로 반환합니다. 예를 들어 인쇄할 때 이 해상도는 물리적 프린터의 해상도를 나타냅니다. 반면 논리적 DPI는 실제 페인트 엔진에서 사용하는 해상도를 나타냅니다.

물리적DpiX()가 logicalDpiX()와 같지 않은 경우 해당 QPaintEngine 에서 해상도 매핑을 처리해야 합니다.

physicalDpiY() 및 logicalDpiX()도 참조하세요 .

int QPaintDevice::physicalDpiY() const

장치의 가로 해상도를 인치당 도트 수로 반환합니다. 예를 들어 인쇄할 때 이 해상도는 물리적 프린터의 해상도를 나타냅니다. 반면 논리적 DPI는 실제 페인트 엔진에서 사용하는 해상도를 나타냅니다.

물리적DpiY()가 logicalDpiY()와 같지 않은 경우 해당 QPaintEngine 에서 해상도 매핑을 처리해야 합니다.

physicalDpiX() 및 logicalDpiY()도 참조하세요 .

int QPaintDevice::width() const

페인트 장치의 너비를 기본 좌표계 단위(예: QPixmapQWidget 의 경우 픽셀)로 반환합니다.

widthMM()도 참조하십시오 .

int QPaintDevice::widthMM() const

페인트 장치의 너비를 밀리미터 단위로 반환합니다. 플랫폼의 제한으로 인해 이 함수를 사용하여 화면에서 위젯의 실제 물리적 크기를 결정하지 못할 수도 있습니다.

width()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.