• 9147阅读
  • 5回复

QGraphicsView图片平移translate() [复制链接]

上一主题 下一主题
离线zsw8766
 

只看楼主 倒序阅读 楼主  发表于: 2010-04-13
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
QGraphicsView加载图片后,高度和宽度大于view的情况下,上下左右平移是不是用translate()方法呢?
现有代码:
picview.h文件
class PicView : public QGraphicsView
{
Q_OBJECT
public:
PicView(QWidget *parent = 0);

public slots:
void PicMoveL();
void PicMoveR();
void PicMoveT();
void PicMoveB();
protected:
void wheelEvent(QWheelEvent *event);
};
我的picview.cpp文件中,
void PicView::PicMoveR()
{
int dx;
int dy;

.........................................
translate(dx,dy)
}

请问dx和dy应该怎样赋值呢


离线zsw8766

只看该作者 1楼 发表于: 2010-04-13
就没个懂的吗?唉
离线yangfanxing
只看该作者 2楼 发表于: 2010-04-13
大概就是图像结束坐标与起始坐标的差值吧。。。
哎。。。
PHPWind好恶心。。。不想看这种界面。。。
离线zsw8766

只看该作者 3楼 发表于: 2010-04-13
我也是这么想的,但图片没有偏移
离线longteng9
只看该作者 4楼 发表于: 2011-03-03
楼主解决了吗?回个帖分享一下呀
离线sbtree
只看该作者 5楼 发表于: 2011-03-03
没太懂楼主的意思和做法,尤其这句 "QGraphicsView加载图片",不懂是怎样一个加载法?
QGraphicsView主要是用来显示QGraphicsScene对象的,而QGraphicsScene实际上是一个QGraphicsItem的容器,所以如果是使用QT Graphics View框架,最直接的方法是把你的图片作为QGraphicsItem或者QGraphicsPixmap加入一个QGraphicsScene对象,再由一个QGraphicsView对象来载入。图片的位置可以直接使用QGraphicsItem或者QGraphicsPixmap的setPos函数设定。
如果你是想让图片作为View的背景显示,可以重载QGraphicsScene的drawBackground函数。
windows 7 + VC++2008 + Qt4.5.2
快速回复
限100 字节
 
上一个 下一个