Qt QClipboard 粘贴复制功能学习

    粘贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用,其实也是使用到了粘贴板,在往细了说,从一个文本文件中复制一段内容到另一文本文件,这也使用到了粘贴板,而这也是粘贴板的一个功能,这其实实现了进程间的通信,顺道说明一下:粘贴板是由操作系统维护的。

//获取系统剪贴板指针
QClipboard *clipboard = QApplication::clipboard(); 
//获取剪贴板上文本信息
QString originalText = clipboard->text();
//设置剪贴板内容
clipboard->setText(newText);

qt <wbr>QClipBoard上面3行代码很好的展示了qt使用系统剪贴板的方式,除此之外qt还提供了很多好的接口来供使用:

setImage(const QImage &, Mode)//设置图片
setMimeData(QMimeData *, Mode)//设置数据, 这种方式可以实现用户自定义的消息存储
setPixmap(const QPixmap &, Mode)//设置矢量图
setProperty(const char *, const QVariant &)//设置属性
setText(const QString &, Mode)//设置文本信息

    大家可能也注意到了setMimeData方法,该方法的参数比较奇特,如果用户想在剪贴板中放置更多的数据,可以利用该接口,方法是重写QMimeData类,把自己想保存的数据放置在类QMimeData中,然后使用该方法放入到剪贴板。

注意:如果想让剪贴板中的内容追加,则需要先取出剪贴板的内容,合并新内容之后,在设置到剪贴板上。

转自:https://www.cnblogs.com/swarmbees/p/5621410.html

参考:https://blog.51cto.com/devbean/292229

发布了27 篇原创文章 · 获赞 25 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/weixin_38293850/article/details/97912690