重写鼠标滚轮事件:
void Clock::wheelEvent(QWheelEvent *event){QRect tmp = this->geometry();QPoint centerPoint = tmp.center(); // 储存中心点坐标static int adjustSize = 20;if (event->delta() > 0) // 放大{
tmp.setWidth(tmp.width() + adjustSize);tmp.setHeight(tmp.height() + adjustSize);}
else // 缩小{
tmp.setWidth(tmp.width() - adjustSize);tmp.setHeight(tmp.height() - adjustSize);}
if (tmp.width() > 20) // 限制最小尺寸{
tmp.moveCenter(centerPoint); // 从中心缩放而非左上角处this->setGeometry(tmp);}
}