QRubberband在QGraphicsScene上没有固定。如果我最小化窗口意味着QRubberband在桌面上显示

时间:2017-12-14 05:14:51

标签: c++ qt

我在视口上插入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(); 
} 

最小化窗口后。橡皮筋出现在桌面上

0 个答案:

没有答案