• 4397阅读
  • 0回复

跪求QMatrix类的translate()和QGraphicsItem的moveBy()的问题 [复制链接]

上一主题 下一主题
离线zsw8766
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-17
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
使用QGraphicsScene的addPixmap()方法加载一个图片后,向上滚动滑轮,放大图片(已实现),超过graphicsView大小尺寸时,我想通过点击QpushButton,实现图片平移,槽函数里先后使用过三种方法:
1、QMatrix m=graphicsView->matrix();
m->translate(100,0);
graphicsView->setMatrix(m);
graphicsView->update();
2、QList<QGraphicsItem *> litem =Graphicsscene->items();
QGraphicsItem *QGPitem=litem.at(0); //仅加载一张图片,只对一张图片操作可取0
QMatrix m=QGPitem->matrix();
m->translate(100,0);
QGPitem->setMatrix(m);
Graphicsscene->update();
3 QList<QGraphicsItem *> litem =Graphicsscene->items();
QGraphicsItem *QGPitem=litem.at(0);
QGPitem->MoveBy(100,0);
Graphicsscene->update();
上述三种方法,都未实现效果,方法1图片基本上没变化,方法2和方法3只是在图片的左侧加了100长度的空白区
请教 如何实现图片item平移呢(当图片大于view时)?
快速回复
限100 字节
 
上一个 下一个