QIconEngine Class
QIconEngine クラスは、QIcon レンダラー用の抽象基底クラスを提供します。詳細...
Header: | #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 を返 し ます。
返 さ れ る サ イ ズはデバ イ ス独立の ピ ク セル単位です ( こ れは高 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() から呼び出される。与えられた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 を返します。
本ドキュメントに含まれる文書の著作権は、各所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。