1. 检查鼠标滚轮是否损坏。如果鼠标滚轮损坏,可能会导致滚轮无法正常滚动页面。可以试着用其他鼠标测试滚轮是否正常。
2. 检查鼠标驱动程序是否正确安装。如果鼠标驱动程序未正确安装,可能会导致鼠标滚轮无法正常工作。可以尝试重新安装鼠标驱动程序。
3. 检查鼠标设置。如果鼠标设置不正确,可能会导致鼠标滚轮无法正常工作。可以在鼠标设置中检查滚轮设置是否正确。
4. 检查浏览器设置。如果浏览器设置不正确,可能会导致鼠标滚轮无法正常滚动页面。可以在浏览器设置中检查滚轮设置是否正确。
5. 检查系统设置。如果系统设置不正确,可能会导致鼠标滚轮无法正常工作。可以在系统设置中检查滚轮设置是否正确。
如果以上方法都无法解决问题,可以联系专业维修人员或者鼠标厂商客服进行咨询和维修。
鼠标上下翻页突然变成缩放
一、前段时间在用QGraphicsView对图元进行放大缩小时,发现图形总是越来越跑偏,无法像地图中那样,点击哪里就能放大哪个地方。
如下所示:此时放大缩小的焦点并不在鼠标位置
方法,使用QGraphicsView类的设置属性函数.在构造函数中增加下面两个函数即可。
ui.View_ImageOpro->setTransformationAnchor(QGraphicsView::AnchorUnderMouse); ui.View_ImageOpro->setResizeAnchor(QGraphicsView::AnchorUnderMouse);
此时以鼠标为中心的效果就出来了:
完整代码:
MyGraphicsView::MyGraphicsView() { //设置ui控件属性setDragMode(QGraphicsView::NoDrag);//(QGraphicsView::RubberBandDrag);//QGraphicsView::ScrollHandDragscale_m = 1;//图形原始比例setStyleSheet("padding: 0px; border: 0px;");//无边框setMouseTracking(true);//跟踪鼠标位置setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏水平条setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);//隐藏竖条setTransformationAnchor(QGraphicsView::AnchorUnderMouse); setResizeAnchor(QGraphicsView::AnchorUnderMouse); } void MyGraphicsView::wheelEvent ( QWheelEvent * event ) { if(event->modifiers() == Qt::CTRL) {//按住ctrl键 可以放大缩小if((event->delta() > 0)&&(scale_m >= 50))//最大放大到原始图像的50倍{ return; } elseif((event->delta() )&&(scale_m ))//图像缩小到自适应大小之后就不继续缩小{ return;//重置图片大小和位置,使之自适应控件窗口大小} else{ // 当前放缩倍数;qreal scaleFactor = this->matrix().m11(); scale_m = scaleFactor; int wheelDeltaValue = event->delta(); // 向上滚动,放大;if(wheelDeltaValue > 0) { this->scale(1.2, 1.2); } else{// 向下滚动,缩小;this->scale(1.0/ 1.2, 1.0/ 1.2); } update(); } } }
原文链接:「链接」
资料领取:Qt资料领取(视频教程+文档+代码+项目实战)