QGraphicsView中的QScroller重置视口原点(Qt 5.7)

时间:2016-08-16 20:40:23

标签: qt qgraphicsview

我有一个简单的QGraphicsView子类,我想通过动态滚动来增强它。我的QGraphicsScene sceneRect类似于(origin = -12500,12500 w = 25000,h = 25000),因此以0,0为中心,但延伸远远为负且远远为正。在QGraphicsView中,当我尝试:

if(clicked)
{
    // Enable kinetic effects -- should work, but doesn't
    QScroller::grabGesture(this->viewport(), QScroller::LeftMouseButtonGesture);

    // this behaves as I expect:
    // this->setDragMode(QGraphicsView::ScrollHandDrag);
}

拖动时,视口的图像会截断所有内容<在场景坐标中为0,0,当我释放鼠标时,视口会跳转,以便场景0,0位于视图0,0(左上角)。在此模式下,滚动条按预期工作。希望下面的图片有助于......

非常混乱。

我尝试将抓取手势附加到QGraphicsView和QGraphicsView-> viewport(),并且都没有像我期望的那样工作......

Picture of Before, During, After kinetic drag

0 个答案:

没有答案