gpt4 book ai didi

qt - QWidget上的缩放功能

转载 作者:行者123 更新时间:2023-12-04 13:20:51 28 4
gpt4 key购买 nike

我有一个QWidget,我在其中绘制一些线,我想启用/实现缩放功能,以便更好地查看正在绘制的图片。我想将其连接到鼠标滚轮,就像在普通浏览器中一样,当您可以通过按“ctrl”键并旋转鼠标滚轮进行放大和缩小时。

是否有默认功能?我尝试搜索一些示例,但没有任何运气。那我该怎么办呢?

最佳答案

尝试重新实现paintEvent,并在绘制之前将比例尺应用到QPainter。

class YourClass:public QWidget
{
...
protected:
void paintEvent ( QPaintEvent * event );
void wheelEvent ( QWheelEvent * event );
private:
qreal scale;
};

void YourClass::paintEvent ( QPaintEvent * event )
{
QPainter p;
p.scale(scale,scale);
// paint here
}
void YourClass::wheelEvent ( QWheelEvent * event )
{
scale+=(event->delta()/120); //or use any other step for zooming
}

关于qt - QWidget上的缩放功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6650219/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com