QOpenGLWidget能作为QGraphicsView的viewport用吗
2016-07-13
展开全部
QOpenGLWidget能作为QGraphicsView的viewport用
个人在看qwt 中的svgmap样例时,放大缩小的位置的源代码查到在哪里出现,但关于移动却找了一阵,不知道它的源代码在哪里出现,从跟踪情况来看,在void QwtMagnifier::widgetMouseMoveEvent( QMouseEvent *mouseEvent )中没有执行(或效果)。
后来查看了QT自带样例:imageviewer,感觉与Scroll相关,由于需要显示,与View相关,暂时就不看GraphicsScence了.
在void QGraphicsView::mouseMoveEvent(QMouseEvent *event)中,经跟踪发现与下面带码有关:
if (d->dragMode == QGraphicsView::ScrollHandDrag) {
if (d->handScrolling) {
QScrollBar *hBar = horizontalScrollBar();
QScrollBar *vBar = verticalScrollBar();
QPoint delta = event->pos() - d->lastMouseEvent.pos();
hBar->setValue(hBar->value() + (isRightToLeft() ? delta.x() : -delta.x()));
vBar->setValue(vBar->value() - delta.y());
// Detect how much we've scrolled to disambiguate scrolling from
// clicking.
++d->handScrollMotions;
}
}
d->mouseMoveEventHandler(event);
}
个人在看qwt 中的svgmap样例时,放大缩小的位置的源代码查到在哪里出现,但关于移动却找了一阵,不知道它的源代码在哪里出现,从跟踪情况来看,在void QwtMagnifier::widgetMouseMoveEvent( QMouseEvent *mouseEvent )中没有执行(或效果)。
后来查看了QT自带样例:imageviewer,感觉与Scroll相关,由于需要显示,与View相关,暂时就不看GraphicsScence了.
在void QGraphicsView::mouseMoveEvent(QMouseEvent *event)中,经跟踪发现与下面带码有关:
if (d->dragMode == QGraphicsView::ScrollHandDrag) {
if (d->handScrolling) {
QScrollBar *hBar = horizontalScrollBar();
QScrollBar *vBar = verticalScrollBar();
QPoint delta = event->pos() - d->lastMouseEvent.pos();
hBar->setValue(hBar->value() + (isRightToLeft() ? delta.x() : -delta.x()));
vBar->setValue(vBar->value() - delta.y());
// Detect how much we've scrolled to disambiguate scrolling from
// clicking.
++d->handScrollMotions;
}
}
d->mouseMoveEventHandler(event);
}
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询