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 引数は、アイコンがヌルの場合に true に設定できる bool へのポインタです。この列挙型値は 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 を返します。
返されるサイズは、デバイス非依存ピクセル単位です(これは高DPIのピクマップに関連します)。
[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()
このアイコンエンジンがQIcon のnullを表している場合、trueを返します。
注: アイコンエンジンがこの関数を再実装していない場合 、実際の処理はvirtual_hook()メソッドによって行われます。したがって、このメソッドはアイコンエンジンのサポートに依存しており、すべてのアイコンエンジンで動作するとは限りません。
[virtual] QString QIconEngine::key() const
このアイコンエンジンを識別するキーを返します。
[pure virtual] void QIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state)
指定されたpainter を使用して、指定されたmode およびstate を持つアイコンを、矩形rect 内に描画します。
[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 からアイコンエンジンのコンテンツを読み込みます。コンテンツの読み込みに成功した場合は true を返し、失敗した場合は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 の実際の動作と形式は、id 引数によって決まります。この引数は、実際にはIconEngineHook 列挙型に定義された定数です。
IconEngineHookも参照してください 。
[virtual] bool QIconEngine::write(QDataStream &out) const
このエンジンの内容を `QDataStream `out に書き込みます。内容が書き込まれた場合は `true ` を返し、そうでない場合は `false` を返します。
QIconEngineのデフォルトの実装は、常に false を返します。
© 2026 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.