• 5792阅读
  • 5回复

怎样在VIEW中插入一个图片。。谢谢!! [复制链接]

上一主题 下一主题
离线robertkun
 

只看楼主 倒序阅读 楼主  发表于: 2009-05-22
想要在VIEW中插入一个图片,并能够移动它,
而不是设置成它的背景,请高手指点一下。。谢谢

我现在用的是:

    QPixmap pixmap = QPixmap(strUrl[SelectID]);
    view->setBackgroundBrush(pixmap);   //不是想要的效果,
                                              简单的生活使人快乐!
离线duduqq

只看该作者 1楼 发表于: 2009-05-22
你在VIEW上加入一个重载过的控件,在控制里插入图片,并且重写控件的mousePressEvnet,mouseMoveEvent,mouseRelease这此事件。
也可以在View,重写paintEvent(),在里面painter.drawPixmap, 然后再重写mousePressEvnet,mouseMoveEvent,mouseRelease这此事件,鼠标按下并移动时把drawPixmap的坐标改变就行了。
离线bingogo
只看该作者 2楼 发表于: 2009-05-22
Demo -> "Drag & Drop" -> Puzzle

这个例子有点类似于你的要求  
离线robertkun

只看该作者 3楼 发表于: 2009-05-22
引用第1楼duduqq于2009-05-22 11:46发表的  :
你在VIEW上加入一个重载过的控件,在控制里插入图片,并且重写控件的mousePressEvnet,mouseMoveEvent,mouseRelease这此事件。
也可以在View,重写paintEvent(),在里面painter.drawPixmap, 然后再重写mousePressEvnet,mouseMoveEvent,mouseRelease这此事件,鼠标按下并移动时把drawPixmap的坐标改变就行了。


思路挺好的,那我试试painter.drawPixmap吧,本菜鸟还没用过这个呢。。。
                                              简单的生活使人快乐!
离线robertkun

只看该作者 4楼 发表于: 2009-05-22
引用第2楼bingogo于2009-05-22 12:46发表的  :
Demo -> "Drag & Drop" -> Puzzle
这个例子有点类似于你的要求  


忒像了。。谢。
                                              简单的生活使人快乐!
离线robertkun

只看该作者 5楼 发表于: 2009-05-23
void testqt7::pictureInserted(QGraphicsTextItem *)
{
    QDrag *drag = new QDrag(this);
    QPixmap pixmap = QPixmap(strUrl[SelectID]);
     view->setBackgroundBrush(pixmap);  // 这里可以创建一个背景图片,并显示在view中 。。
    QRectF target(10.0,20.0,80.0,60.0);
    QRectF source(0.0,0.0,70.0,40.0);
    QPainter painter(this);         //这里我用painter继承view
    painter.drawPixmap(target,pixmap,source);    //然后用drawPixmap()的方法,创建一个图片,但是显示不出来。。
}

哪位大侠帮忙,说明一下原因?

(    程序中的 view 包含在一个 Widget中,难道是view中不可以创建图片??)
                                              简单的生活使人快乐!
快速回复
限100 字节
 
上一个 下一个