如下所示。
//函数
void ItemsView::wheelEvent(QWheelEvent *e)
{
int angle = e->angleDelta().y();
if(angle > 0){
zoom_2();
}else{
zoom_1();
}
}
//函数
void ItemsView::zoom_1(void)
{
scale(1/1.2, 1/1.2);
}
//函数
void ItemsView::zoom_2(void)
{
scale(1.2, 1.2);
}
其中zoom_1函数表示缩小,zoom_2函数表示放大。根据鼠标滚轮的不同方向,选择放大还是缩小。