我在 QGraphicsView 中滚动时遇到问题。
我在 QGraphicsView 子类中设置了场景矩形:
MyQGraphicsView::MyQGraphicsView{
setSceneRect(0,0,2000,2000)
}
并重载paintEvent:
void MyQGraphicsView::paintEvent(QPaintEvent *event){
qDebug()<<"Paint event";
QPainter painter(viewport());
painter.setRenderHint(QPainter::Antialiasing);
paint(painter);
}
void MyQGraphicsView::paint(QPainter &painter){
painter.setPen(Qt::NoPen);
painter.fillRect(QRect(0,0,200,200),Qt::gray);
painter.fillRect(QRect(500,500,1000,100),Qt::green);
painter.setPen(QPen(Qt::white,4,Qt::DashLine));
painter.drawLine(QLine(0,35,200,35));
painter.drawLine(QLine(0,165,200,165));
}
当我滚动第二个矩形时不可见。当我调整窗口大小时。此外,当滚动矩形以有线方式扩展时。
在这种情况下应该如何实现滚动?我在 QGraphicsView 中找到了几个关于滚动的主题,但没有一个能解决我的问题。