我有一个QWidget,我在绘制一些线条,我想启用/实现缩放功能,以便更好地查看我正在绘制的图片.我想将它连接到鼠标滚轮,就像在普通浏览器中一样,当您可以通过按"ctrl"键并转动鼠标滚轮来放大和缩小.
是否有默认功能?我试着寻找一些例子,但没有任何运气.那我该怎么办呢?
Rai*_*aiv 16
尝试重新实现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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14886 次 |
| 最近记录: |