Obsolete Members for QGraphicsScene

クラスQGraphicsScene の以下のメンバーは非推奨です。これらは古いソース・コードの動作を維持するために提供されています。新しいコードでは使用しないことを強くお勧めします。

保護された関数

(deprecated) virtual void drawItems(QPainter *painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options, QWidget *widget = nullptr)

メンバ関数ドキュメント

[virtual protected, deprecated] void QGraphicsScene::drawItems(QPainter *painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options, QWidget *widget = nullptr)

この関数は非推奨です。新しいコードで使用しないことを強くお勧めします。

背景が描画された後、前景が描画される前に、与えられたpainter を使って、与えられたitems を描画します。すべての描画はシーン座標で行われます。各アイテムを描画する前に、QGraphicsItem::sceneTransform() を使用してペインターを変換する必要があります。

options パラメータは、items の各アイテムのスタイルオプションオブジェクトのリストです。numItems パラメータはitems のアイテム数とoptions のオプション数です。widget パラメータはオプションです。指定する場合は、ペイントされるウィジェットを指す必要があります。

デフォルトの実装では、ペインタ行列を準備し、すべてのアイテムに対してQGraphicsItem::paint() を呼び出します。この関数を再実装すると、シーンの全アイテムのカスタムペインティングが可能になり、各アイテムの描画方法を完全に制御できるようになります。各アイテムがどのように描画されるかを完全に制御できるようになります。場合によっては、これにより描画パフォーマンスが大幅に向上します。

void CustomScene::drawItems(QPainter *painter, int numItems,
                            QGraphicsItem *items[],
                            const QStyleOptionGraphicsItem options[],
                            QWidget *widget)
{
    for (int i = 0; i < numItems; ++i) {
         // Draw the item
         painter->save();
         painter->setTransform(items[i]->sceneTransform(), true);
         items[i]->paint(painter, &options[i], widget);
         painter->restore();
     }
}

例: Qt 4.6 以降、QGraphicsView::IndirectPainting フラグが Optimization フラグとして与えられていない限り、この関数は呼び出されなくなりました。

drawBackground() とdrawForeground()も参照してください

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