我在视口上插入Qrubberband
Object。如下所示
auto viewport = QGraphicScene->views().first()->viewport();
if (!rubberBandInstalled)
{
viewport->installEventFilter(&rubberBand);
}
以下函数用于绘制QRubberband
。
void RubberBand::mousePressEvent(QMouseEvent* event) {
if (event->buttons() != Qt::LeftButton) return;
if (rubberBand.isVisible()) {
rubberBand.hide();
return;
}
auto posItem = RelativeClippedCoordinates(event->globalPos());
origin = CoordinatesItemToGlobal(pixmapItem, posItem);
selectionRect.setTopLeft(posItem);
rubberBand.setGeometry(QRect(origin, QSize()));
rubberBand.setStyleSheet("background-color:trasparent;");
rubberBand.show();
}
最小化窗口后。橡皮筋出现在桌面上