以下成员源于类 QGraphicsScene 被弃用。 提供它们是为使旧源代码能继续工作。强烈建议不要在新代码中使用它们。
(deprecated)
virtual void
|
drawItems (QPainter * painter , int numItems , QGraphicsItem *[] 项 , const QStyleOptionGraphicsItem [] options , QWidget * widget = nullptr) |
[virtual protected]
void
QGraphicsScene::
drawItems
(
QPainter
*
painter
,
int
numItems
,
QGraphicsItem
*[]
项
, const
QStyleOptionGraphicsItem
[]
options
,
QWidget
*
widget
= nullptr)
This function is deprecated. We strongly advise against using it in new code.
Paints the given 项 使用提供 painter , after the background has been drawn, and before the foreground has been drawn. All painting is done in scene coordinates. Before drawing each item, the painter must be transformed using QGraphicsItem::sceneTransform ().
options parameter is the list of style option objects for each item in 项 。 numItems parameter is the number of items in 项 and options in options 。 widget parameter is optional; if specified, it should point to the widget that is being painted on.
The default implementation prepares the painter matrix, and calls QGraphicsItem::paint () on all items. Reimplement this function to provide custom painting of all items for the scene; gaining complete control over how each item is drawn. In some cases this can increase drawing performance significantly.
范例:
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(); } }
Since Qt 4.6, this function is not called anymore unless the QGraphicsView::IndirectPainting flag is given as an Optimization flag.
另请参阅 drawBackground () 和 drawForeground ().