需求:在比例尺1万-10万之间,鼠标滚轮转动比例尺的变化幅度为1万
重写滚轮事件
void Xx::wheelEvent(QWheelEvent*event){
double curScale = scale();//获取地图当前比例尺单位厘米
QgsMapCanvas::WheelEvent(event);
int spli = 0;
if(curScale > 1*10000 && curScale < 10*10000)
spli = 1;
if(event->delta > 0){
if(spli != 0)
zoomScale(curScale - spli * 10000);
}else{
if(spli != 0)
zoomScale(curScale - spli * 10000);
}
}
原文来自微信公众号"程序员成长日志",已经工作的程序员朋友可以关注下,分享日常工作中解决的问题即可赚取稿费,大家一起成长~