我有一个简单的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(),并且都没有像我期望的那样工作......