Qt GraphicsScene:如何创建新图层?

2 graphics qt

我有一个QGraphicsView,显示QGraphicsScene.用户可以使用按钮缩放和平移场景.该操作通过QGraphicsView诸如以下的功能来实现scale().现在我想在它上面绘制一些透明的pixmaps,它们不会被用户操作转换.我如何将它们与graphicsView?分开?

Dav*_*eer 7

如果你想要的东西就被抽QGraphicsView完全独立的场景变换,你也可以继承QGraphicsView和借鉴这些项目为(覆盖)的部分paintEvent方法.

void MyView::paintEvent(QPaintEvent *event) {
  // Call the base paintEvent to do the "normal" stuff.
  QGraphicsView::paintEvent(event);

  // Paint your other stuff. Note that you have to create the QPainter on 
  // the viewport.
  QPainter painter(viewport());
  painter.setBrush(QBrush(Qt::black));
  // ... etc.
}
Run Code Online (Sandbox Code Playgroud)