一、复制
可以复制文字、图片到系统剪贴板,图片最好将QImage格式复制到剪贴板,QPixmap要比QImage慢,因为QPixmap需要首先转换为QImage格式。
QClipboard *clipboard = QApplication::clipboard();
//1.
clipboard->setImage(image);
//2.
clipboard->setPixmap(pixmap);
//3.
clipboard->setText(text);
二、粘贴
QClipboard *clipboard = QApplication::clipboard();
QString originalText = clipboard->text();
三、查看剪贴板数据
1、windows
使用windows徽标键 + v
查看系统剪贴板内容。或者使用InsideClipboard
软件,可查看所有数据格式。
2、linux
复制某个数据时,一般会有如下格式,时间戳、图片、文本、HTML格式,可以使用xclip
命令查看感兴趣的格式数据。
// 列出所有格式
xclip -selection clipboard -o -t TARGETS
// 查看复制的png图片格式,保存为foo.png
xclip -selection clipboard -o -t image/png > foo.png
// 查看文本
xclip -selection clipboard -o -t text/plain
四、常见格式类型
格式 | Value |
---|---|
TIMESTAMP | 时间戳(复制同一个内容,时间戳一直再变) |
TARGETS | 列出剪贴板中所有支持的格式 |
text/uri-list | URI 是用来标识资源的统一资源标识符 |
text/plain | 纯文本格式 |
text/html | HTML 格式的文本 |
image/* | 支持多种图像格式,如 JPEG、PNG、GIF 等 |