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() 関数で pixmap として取得できます (デフォルトの実装では、単にpaint() を使用しています)。addPixmap ()関数は、アイコンエンジンに新しい pixmap を追加するために使用でき、QIcon は、特殊なカスタム pixmap を追加するために使用します。
paint ()、pixmap ()、addPixmap ()関数はすべて仮想関数であるため、QIconEngine のサブクラスで再実装できます。
QIconEnginePluginも参照してください 。
メンバ型ドキュメント
enum QIconEngine::IconEngineHook
これらの列挙値はvirtual_hook() で使用され、バイナリの互換性を壊すことなくアイコンエンジンへの追加クエリを可能にします。
定数 | 値 | 説明 |
---|---|---|
QIconEngine::IsNullHook | 3 | このエンジンが NULL アイコンを表すかどうかを問い合わせることを許可する。virtual_hook() のdata 引数は、アイコンが null の場合に true に設定できる bool へのポインタです。この enum 値は Qt 5.7 で追加されました。 |
QIconEngine::ScaledPixmapHook | 4 | 与えられたスケール(通常はデバイスのピクセル比に等しい)に従ってスケーリングされた 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)
要求 さ れた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 のファイルから特殊化された pixmap を追加します。デフ ォル ト の pixmap ベース のエン ジ ンは、 与え ら れた フ ァ イ ル名をすべて格納 し 、 pixmap のサ イ ズが要求 さ れた ア イ コ ンのサ イ ズ と 一致す る と き は、 拡縮 さ れた pixmap を用い る のではな く 、 オンデマンドで pixmap を読み込みます。スケーラブルなベクター形式を実装するカスタムアイコンエンジンは、余分なファイルを無視することができます。
[virtual]
void QIconEngine::addPixmap(const QPixmap &pixmap, QIcon::Mode mode, QIcon::State state)
QIcon::addPixmap()によって呼び出される。与えられたmode とstate に特化した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 を使って、必要なmode とstate を持つアイコンを矩形rect に描く。
[virtual]
QPixmap QIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State state)
必要なsize 、mode 、state を持つ 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)
与えられたsize,mode,state,scale の 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 を返します。
© 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.