Qt剪切板类QClipboard图片文本的复制与粘贴的使用介绍

     Qt的剪切板相对于MFC来说,代码写起来要简单很多,提供的复制功能API也很好用,本篇博客介绍一下Qt的比较简单剪切板操作。

     Qt剪切板类是QClipboard,该类封装了对常用文件格式的复制与粘贴,例如文本,图片等,

一 、文本的复制与粘贴

    文本复制粘贴操作的方法如下:

 QString text(Mode mode = Clipboard) const;
 QString text(QString& subtype, Mode mode = Clipboard) const;
 void setText(const QString &, Mode mode = Clipboard);

    获取剪切板的文本,就调用text, 把复制的文本设置到剪切板就调用setText, 代码如下

QClipboard *pClip = QApplication::clipboard();
pClip->setText("Hello Qt, 这是Qt复制的内容");

    需要包含的头文件

  #include <QClipboard>
  #include <QApplication>

 

二、图片的复制与粘贴

      图片的操作稍微有点不同, 相关方法如下:

const QMimeData *mimeData(Mode mode = Clipboard ) const;
void setMimeData(QMimeData *data, Mode mode = Clipboard);

QImage image(Mode mode = Clipboard) const;
QPixmap pixmap(Mode mode = Clipboard) const;
void setImage(const QImage &, Mode mode  = Clipboard);
void setPixmap(const QPixmap &, Mode mode  = Clipboard);

     如果想获取剪切板的图片,需要调用mimeData方法,先获取Image的数据, 再转为QImage,例如下面的代码是将剪切板的图片保存为QImage:

QClipboard *clipboard = QApplication::clipboard();
const QMimeData *mimeData = clipboard->mimeData();
if (mimeData->hasImage())
{
    //将图片数据转为QImage
    QImage img = qvariant_cast<QImage>(mimeData->imageData());
}

     如果想把图片复制到剪切板,调用setImage或setPixmap。 

 

三、剪切板的清除

     clear().

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

令狐掌门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值