qt c++重写继承QGraphicsView缩放图像
时间: 2023-05-17 21:03:59 浏览: 161
可以通过重写QGraphicsView的wheelEvent()函数来实现缩放图像。具体实现方法可以参考以下代码:
class MyGraphicsView : public QGraphicsView
{
public:
MyGraphicsView(QWidget *parent = nullptr) : QGraphicsView(parent) {}
protected:
void wheelEvent(QWheelEvent *event) override
{
if (event->modifiers() & Qt::ControlModifier) {
// 缩放图像
double scaleFactor = 1.15;
if (event->angleDelta().y() > 0) {
scale(scaleFactor, scaleFactor);
} else {
scale(1 / scaleFactor, 1 / scaleFactor);
}
event->accept();
} else {
QGraphicsView::wheelEvent(event);
}
}
};
在这个类中,我们重写了QGraphicsView的wheelEvent()函数,当用户滚动鼠标滚轮时,如果同时按下了Ctrl键,就会缩放图像。注意,我们在缩放图像之前,先判断用户是向上滚动还是向下滚动,然后分别进行放大和缩小操作。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)