QGraphicsView 框架学习(三),图形对象的剪贴板操作。

本文介绍如何在Qt的QGraphicsView框架中实现图形对象的剪贴板操作。通过利用Qt内置的QClipboard对象和QMimeData派生类,实现图形编辑的复制、剪切和粘贴功能。
摘要由CSDN通过智能技术生成

图形编辑必备功能,剪贴板。

Qt本身提供 QClipboard 对象,它使用也很方便,有轮子就不用自己造轮子,不说废话,我们需要利用QMimeData对象来存储我们的图形元素,所以我们要声明一个QMimeData的派生类。

class ShapeMimeData : public QMimeData
{
    Q_OBJECT
public:
    ShapeMimeData( QList<QGraphicsItem * > items);
    ~ShapeMimeData();
    QList<QGraphicsItem *> items() const ;
private:
    QList<QGraphicsItem * > m_items;
};

这里面包含一个存储对象的列表,这样我们就可以拷贝多个对象了。看看怎么用吧。

首先我们需要在主窗口创建几个slot

    void on_copy();
    void on_paste();
    void on_cut();
    //没找到如何判断剪贴板中有数据存在的方法,变通的方法就是只要剪贴板数据有变化就认为它可以做粘贴操作。
    void dataChanged();

连接信号槽

    connect(copyAction,SIGNAL(triggered()),this,SLOT(on_copy));
    connect(pasteAction,SIGNAL(triggered()),this,SLOT(on_paste));
    connect(cutAction,SIGNAL(triggered()),th
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值