部分思路借鉴这篇文章: Qt学习之路(55): 剪贴板操作
剪贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用,其实也是使用到了粘贴板,在往细了说,从一个文本文件中复制一段内容到另一文本文件,这也使用到了见铁板,而这也是见铁板的一个功能,这其实实现了进程间的通信,顺道说明一下:剪贴板是由操作系统维护的。![qt QClipBoard-LMLPHP qt QClipBoard-LMLPHP](https://dbsqp.com/x.php?x=MXowOU1CdWprd1lYUXhVNUY5LTNZPThIUHlUeEd3TmtaQTRYaDJ6eE09OWpaNHBudzNEMEw9cXMyeE02ZXl4TlpDTmpjQXRySTNBQlM5OHpmPXNmY3NFQnh4S29nNzhQbTJTVlMtdUFPM3NMaHZTNFJCdGdCMk1USXZ4aE83NmZqQ3NqRm5FQmt4YlFZN3BuQTNDUnZ5LUEyQThyZXZUSVYwNVFVQnMzYTBEY1g%3D)
![qt QClipBoard-LMLPHP qt QClipBoard-LMLPHP](https://dbsqp.com/x.php?x=dHNwaFg4dGNadVBMd3FKZFE0OXdOOXo3dnJJVlJyTWRPLXZMQnZvVlg2OGNPMmdiUXc0WVc2cGxydkR1LXJteGs5TWNSLWtmb3cxbGQ0N3NVOWpUOGw1bDhzSmhWNXpER3ZINWQ1dDVEMWo9Qm9IY2M4c1oyMERIb29tRloyNVlZQWpYbGc1bHZzYUpONWdiZ3czMTZ0OTVyLXpmLW9Jc2d2NEpKPWpyNnQ0QWk%3D)
剪贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用,其实也是使用到了粘贴板,在往细了说,从一个文本文件中复制一段内容到另一文本文件,这也使用到了见铁板,而这也是见铁板的一个功能,这其实实现了进程间的通信,顺道说明一下:剪贴板是由操作系统维护的。
QClipboard *clipboard = QApplication::clipboard();
//获取系统剪贴板指针
QString originalText = clipboard->text();//获取剪贴板上文本信息
clipboard->setText(newText);//设置剪贴板内容
上面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中,然后使用该方法放入到见铁板
注意:如果想让剪贴板中的内容追加,则需要先取出剪贴板的内容,合并新内容之后,在设置到剪贴板上。
以上是个人对系统剪贴板的浅见,不对之处请指出