QGraphicsScene 已废弃成员
以下 QGraphicsScene 类成员已被废弃。 它们被提供以保持旧源代码的正常运行。我们强烈建议不要在新代码中使用它们。
受保护函数
(已废弃) virtual void | drawItems(QPainter *painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options, QWidget *widget = nullptr) |
成员函数文档
[virtual protected, 已废弃]
void QGraphicsScene::drawItems(QPainter *painter, int numItems, QGraphicsItem *[] items, const QStyleOptionGraphicsItem[] options, QWidget *widget = nullptr)
此函数已废弃。我们强烈建议不要在新代码中使用它。
在绘制背景之后和绘制前景之前,使用提供的 painter 绘制给定的 items。所有绘制都是在 scene 坐标系中完成的。在绘制每个项目之前,必须使用 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 标志作为优化标志提供,否则此函数不再被调用。
另请参阅 drawBackground() 和 drawForeground()。
© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 许可。Qt 和相应标志是 The Qt Company Ltd. 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。