QIconEngine Class
QIconEngine 클래스는 QIcon 렌더러를 위한 추상 베이스 클래스를 제공합니다. 더 보기...
헤더: | #include <QIconEngine> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
- 상속된 멤버를 포함한 모든 멤버 목록
- QIconEngine은 페인팅 클래스의 일부입니다.
공용 유형
struct | ScaledPixmapArgument |
enum | IconEngineHook { IsNullHook, ScaledPixmapHook } |
공용 함수
QIconEngine() | |
virtual | ~QIconEngine() |
virtual QSize | actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state) |
virtual void | addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state) |
virtual void | addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state) |
virtual QList<QSize> | availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off) |
virtual QIconEngine * | clone() const = 0 |
virtual QString | iconName() |
virtual bool | isNull() |
virtual QString | key() const |
virtual void | paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) = 0 |
virtual QPixmap | pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state) |
virtual bool | read(QDataStream &in) |
virtual QPixmap | scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale) |
virtual void | virtual_hook(int id, void *data) |
virtual bool | write(QDataStream &out) const |
상세 설명
아이콘 엔진은 QIcon 에 대한 렌더링 함수를 제공합니다. 각 아이콘에는 요청된 크기, 모드 및 상태로 아이콘을 그릴 책임이 있는 해당 아이콘 엔진이 있습니다.
아이콘은 paint() 함수에 의해 렌더링되며, pixmap() 함수를 사용하여 아이콘을 추가로 픽셀맵으로 가져올 수 있습니다(기본 구현에서는 paint()를 사용하여 이를 달성합니다). addPixmap () 함수는 아이콘 엔진에 새 픽스맵을 추가하는 데 사용할 수 있으며 QIcon 함수는 특수한 사용자 정의 픽스맵을 추가하는 데 사용됩니다.
paint(), pixmap() 및 addPixmap() 함수는 모두 가상이므로 QIconEngine의 하위 클래스에서 다시 구현할 수 있습니다.
QIconEnginePlugin 를참조하세요 .
멤버 유형 문서
enum QIconEngine::IconEngineHook
이러한 열거형 값은 virtual_hook()에 사용되어 바이너리 호환성을 깨지 않고 아이콘 엔진에 대한 추가 쿼리를 허용합니다.
상수 | 값 | 설명 |
---|---|---|
QIconEngine::IsNullHook | 3 | 이 엔진이 널 아이콘을 나타내는지 쿼리할 수 있도록 허용합니다. virtual_hook ()의 data 인수는 아이콘이 null인 경우 true로 설정할 수 있는 부울에 대한 포인터입니다. 이 열거형 값은 Qt 5.7에 추가되었습니다. |
QIconEngine::ScaledPixmapHook | 4 | 주어진 스케일(일반적으로 디바이스 픽셀 비율과 같음)에 따라 크기가 조정된 픽셀맵을 가져오는 방법을 제공합니다. virtual_hook () 함수의 data 인수는 입력 및 출력 인수를 모두 포함하는 ScaledPixmapArgument 포인터입니다. 이 열거형 값은 Qt 5.9에서 추가되었습니다. |
virtual_hook()도 참조하십시오 .
멤버 함수 문서
QIconEngine::QIconEngine()
아이콘 엔진을 구성합니다.
[virtual noexcept]
QIconEngine::~QIconEngine()
아이콘 엔진을 파괴합니다.
[virtual]
QSize QIconEngine::actualSize(const QSize &size, QIcon::Mode mode, QIcon::State state)
요청된 size, mode 및 state 에 대해 엔진이 제공하는 아이콘의 실제 크기를 반환합니다. 기본 구현은 주어진 size 을 반환합니다.
반환된 크기는 디바이스에 독립적인 픽셀 단위입니다(이는 고해상도 픽셀맵과 관련이 있습니다).
[virtual]
void QIconEngine::addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state)
QIcon::addFile()에 의해 호출됩니다. 주어진 fileName, size, mode 및 state 파일에서 특수한 픽셀맵을 추가합니다. 기본 픽셀맵 기반 엔진은 제공된 파일 이름을 저장하며, 픽셀맵의 크기가 요청된 아이콘의 크기와 일치하는 경우 스케일링된 픽셀맵을 사용하는 대신 필요에 따라 픽셀맵을 로드합니다. 확장 가능한 벡터 형식을 구현하는 사용자 정의 아이콘 엔진은 추가 파일을 무시할 수 있습니다.
[virtual]
void QIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
QIcon::addPixmap()에 의해 호출됩니다. 주어진 mode 및 state 에 대해 특수한 pixmap 을 추가합니다. 기본 픽셀맵 기반 엔진은 제공된 모든 픽셀맵을 저장하며, 픽셀맵의 크기가 요청된 아이콘의 크기와 일치하는 경우 스케일링된 픽셀맵 대신 픽셀맵을 사용합니다. 확장 가능한 벡터 형식을 구현하는 사용자 정의 아이콘 엔진은 여분의 픽셀맵을 자유롭게 무시할 수 있습니다.
[virtual]
QList<QSize> QIconEngine::availableSizes(QIcon::Mode mode = QIcon::Normal, QIcon::State state = QIcon::Off)
특정 mode 및 state 에 대한 엔진에 포함된 모든 이미지의 크기를 반환합니다.
[pure virtual]
QIconEngine *QIconEngine::clone() const
이 메서드를 다시 구현하여 이 아이콘 엔진의 복제본을 반환합니다.
[virtual]
QString QIconEngine::iconName()
엔진을 생성하는 데 사용된 이름(가능한 경우)을 반환합니다.
[virtual]
bool QIconEngine::isNull()
이 아이콘 엔진이 null을 나타내는 경우 참을 반환합니다 QIcon.
참고: 아이콘 엔진이 이 함수를 재구현하지 않으면 실제 작업은 virtual_hook() 메서드가 수행하므로 이 메서드는 아이콘 엔진 지원에 따라 다르며 모든 아이콘 엔진에서 작동하지 않을 수 있습니다.
[virtual]
QString QIconEngine::key() const
이 아이콘 엔진을 식별하는 키를 반환합니다.
[pure virtual]
void QIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state)
주어진 painter 을 사용하여 직사각형 rect 에 필수 mode 및 state 로 아이콘을 칠합니다.
[virtual]
QPixmap QIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
필수 size, mode, state 이 포함된 픽셀맵으로 아이콘을 반환합니다. 기본 구현은 새 픽셀맵을 생성하고 paint()를 호출하여 픽셀맵을 채웁니다.
[virtual]
bool QIconEngine::read(QDataStream &in)
QDataStream in 에서 아이콘 엔진 콘텐츠를 읽습니다. 내용을 읽으면 참을 반환하고, 그렇지 않으면 false
을 반환합니다.
QIconEngine의 기본 구현은 항상 false를 반환합니다.
[virtual]
QPixmap QIconEngine::scaledPixmap(const QSize &size, QIcon::Mode mode, QIcon::State state, qreal scale)
주어진 size, mode, state, scale 에 대한 픽셀맵을 반환합니다.
scale 인수는 일반적으로 디스플레이의 디바이스 픽셀 비율과 같습니다. 크기는 디바이스에 독립적인 픽셀 단위로 제공됩니다.
참고: 아이콘 엔진이 이 함수를 다시 구현하지 않으면 실제 작업은 virtual_hook() 메서드로 수행되므로 이 메서드는 아이콘 엔진 지원에 따라 다르며 모든 아이콘 엔진에서 작동하지 않을 수 있습니다.
참고: 일부 엔진에서는 scale 을 정수로 캐스팅할 수 있습니다.
ScaledPixmapArgument 를참조하세요 .
[virtual]
void QIconEngine::virtual_hook(int id, void *data)
새로운 가상 메서드를 추가하지 않고(그리고 바이너리 호환성을 깨지 않고) QIconEngine 을 확장할 수 있는 추가 메서드입니다. data 의 실제 동작과 형식은 IconEngineHook 열거형의 상수인 id 인수에 따라 달라집니다.
IconEngineHook 를참조하세요 .
[virtual]
bool QIconEngine::write(QDataStream &out) const
이 엔진의 내용을 QDataStream out 에 씁니다. 내용이 기록되면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
QIconEngine의 기본 구현은 항상 false를 반환합니다.
© 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.