粘贴在mousepressEvent

时间:2014-11-01 10:44:37

标签: qt qgraphicsview qgraphicsitem

我想在Qt中实现粘贴操作。我已经实现了以前的操作,但是想要将项目粘贴到鼠标的当前位置。请建议我继续前进的方式。我上面的代码如下: cadgraphicsscene.cpp

void CadGraphicsScene::cut()
{
    foreach (QGraphicsItem *item, itemList)
    {
        if (item->isSelected())
        {
            selectItems();
            removeItem(item);
            update();
        }
    }
}

void CadGraphicsScene::paste()
{
    selectItems();
    foreach (QGraphicsItem *item, itemList)
    {
        addItem(item);
    }
}

void CadGraphicsScene::selectItems()
{
    // refresh record of selected items and their starting positions
    selectedItems.clear();
    foreach (QGraphicsItem *item, itemList)
    {
        if (item->isSelected())
        {
            if (dynamic_cast<QGraphicsItem *>(item))
            {
                selectedItems.append(qMakePair(
                                         dynamic_cast<QGraphicsItem *>(item),
                                         item->scenePos()));
            }
        }
    }
}

0 个答案:

没有答案