QIconEngine Class

QIconEngine クラスは、QIcon レンダラー用の抽象基底クラスを提供します。詳細...

Header: #include <QIconEngine>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

パブリック タイプ

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() 関数で pixmap として取得できます (デフォルトの実装では、単にpaint() を使用しています)。addPixmap() 関数は、アイコンエンジンに新しい pixmap を追加するために使用でき、QIcon によって特殊なカスタム pixmap を追加するために使用されます。

paint()、pixmap()、addPixmap() 関数はすべて仮想関数であるため、QIconEngine のサブクラスで再実装できます。

QIconEnginePluginも参照してください

メンバ型ドキュメント

enum QIconEngine::IconEngineHook

これらの列挙型の値は、virtual_hook() で使用され、バイナリの互換性を壊すことなく、アイコンエンジンへの追加クエリを許可します。

定数説明
QIconEngine::IsNullHook3このエンジンが null アイコンを表すかどうかを問い合わせることを許可します。virtual_hook() のdata 引数は、アイコンが null の場合に true に設定できる bool へのポインタです。この enum 値は Qt 5.7 で追加されました。
QIconEngine::ScaledPixmapHook4与えられたスケール(通常はデバイスのピクセル比に等しい)に従ってスケーリングされた pixmap を取得する方法を提供します。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)

要求されたsizemodestate に対してエンジンが提供するアイコンの実際のサイズを返します。デフ ォル ト の実装は、 指定 さ れたsize を返 し ます。

返 さ れ る サ イ ズはデバ イ ス独立の ピ ク セル単位です ( こ れは高 pi の ピ ク ス マ ッ プに関連 し ます)。

[virtual] void QIconEngine::addFile(const QString &fileName, const QSize &size, QIcon::Mode mode, QIcon::State state)

QIcon::addFile() によって呼び出される。与えられたfileName,size,mode,state を持つファイルから,特殊化された pixmap を追加します.デフ ォル ト の pixmap ベース のエン ジ ンは、 与え ら れた フ ァ イ ル名をすべて格納 し 、 pixmap のサ イ ズが要求 さ れた ア イ コ ンのサ イ ズ と 一致す る と き は、 拡縮 さ れた pixmap を用い る のではな く 、 オンデマンドで pixmap を読み込みます。スケーラブルなベクターフォーマットを実装するカスタムアイコンエンジンは、余分なファイルを無視することができます。

[virtual] void QIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)

QIcon::addPixmap() から呼び出される。与えられたmodestate に特化したpixmap を追加します。デフ ォル ト の pixmap ベース のエン ジ ンは、 与え ら れた pixmap をすべて保存 し 、 pixmap のサ イ ズが要求 さ れた ア イ コ ンのサ イ ズ と 一致 し てい る と き は、 拡縮 さ れた pixmap のかわ り にそれを用い ます。スケーラブルなベクタ形式を実装したカスタムアイコンエンジンでは、余分な 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()

このアイコン エンジンが nullQIcon を表す場合は 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 を使って、必要なmodestate を持つアイコンを矩形rect にペイントします。

[virtual] QPixmap QIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)

ア イ コ ン を、 必要なsizemodestate を持つ pixmap と し て返 し ます。デフ ォル ト の実装では、 新 し い pixmap を作成 し 、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)

与えられたsizemodestatescale の pixmap を返す。

引数scale は通常、ディスプレイのデバイスピクセル比に等しい。サ イ ズはデバ イ ス独立の ピ ク セル単位で与え ら れます。

注意 : アイコンエンジンがこの関数を再実装していない場合、実際の処理はvirtual_hook() メソッドで行われるため、このメソッドはアイコンエンジンのサポートに依存し、すべてのアイコンエンジンで動作するとは限りません。

注意: エンジンによってはscale を整数にキャストする場合があります。

ScaledPixmapArgumentも参照してください

[virtual] void QIconEngine::virtual_hook(int id, void *data)

新しい仮想メソッドを追加することなく (バイナリの互換性を壊すことなく)QIconEngine を拡張できるようにするための追加メソッド。data の実際の動作と書式はid の引数に依存し、これは実際にはIconEngineHook enum の定数です。

IconEngineHookも参照してください

[virtual] bool QIconEngine::write(QDataStream &out) const

このエンジンの内容をQDataStream out に書き込みます。コンテンツが書き込まれた場合はtrue を返し、そうでない場合はfalse を返します。

QIconEngineデフォルトの実装では、常に false を返します。

本ドキュメントに含まれる文書の著作権は、各所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。