您当前的位置: 首页 >  令狐掌门 ar

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

令狐掌门 发布时间:2020-10-28 21:08:24 ,浏览量:1

     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   #include

 

二、图片的复制与粘贴

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

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(mimeData->imageData());
}

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

 

三、剪切板的清除

     clear().

关注
打赏
1688896170
查看更多评论

令狐掌门

暂无认证

  • 1浏览

    0关注

    485博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0797s