• 5541阅读
  • 2回复

QGraphicsScene中如何同时拖动2个Items~~在线等~急!! [复制链接]

上一主题 下一主题
离线tcsnhj
 
只看楼主 正序阅读 楼主  发表于: 2008-07-09
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
我在做一个通过画流程图生成代码的软件,打算基于Demo==>Graphics view==>Diagram Sence进行修改。刚开始就遇到了个小问题, 忙了两天没有结果,哪位大侠能帮助一下~~
就是关于如何同时用鼠标拖动2个items,一个是那个示例中的那个框,还有是文本框,如何同时用鼠标同时拖动他们?(不用Ctrl多选)?
void DiagramScene::mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
    if (mouseEvent->button() != Qt::LeftButton)
        return;
    DiagramItem *item;
    switch (myMode) {
        case InsertItem:
            item = new DiagramItem(myItemType, myItemMenu);
            item->setBrush(myItemColor);
            addItem(item);
            item->setPos(mouseEvent->scenePos());
            emit itemInserted(item);
……
//! [8] //! [9]
    default:
        ;
    }
    [b]QGraphicsScene::mousePressEvent(mouseEvent);  //第一行
   
}

void DiagramScene::mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent)
{
    if (myMode == InsertLine && line != 0) {
……
    } else if (myMode == MoveItem) { 
        QGraphicsScene::mouseMoveEvent(mouseEvent); //第二行
    }
}

我认为应该修改这部分的代码~~但试了两天都没有成功~~哪位大侠帮帮我啊~~
QT初学者
离线babybluema

只看该作者 2楼 发表于: 2010-03-14
试试setSelectionArea()
离线tcsnhj
只看该作者 1楼 发表于: 2008-07-10
不是吧~~没人回答~~~?
QT初学者
快速回复
限100 字节
 
上一个 下一个