学习笔记之QClipBoard
QClipBoard类是对系统剪切板进行操作,可用于进程间通信,但CPU占用率较高,不推荐使用此方法,下面详细介绍QClipBoard的使用。
一、剪切板操作
QClipboard *clipboard = QGuiApplication::clipboard();
QString originalText = clipboard->text();
qDebug()<<originalText;//打印剪切板内容
使用text()函数对系统剪切板内容进行获取,并且打印出来,或者用作他用。
二、进程间通信
本节讲述一个进程对桌面进行截取,放置系统剪切板中,然后另一个进程从剪切板取出桌面截屏。
*桌面截屏操作:*均使用grabWinbdow()函数
QT4方式
pixmap=QPixmap::grabWindow(QApplication::desktop()->winId());
QT5方式
QScreen *screen =QGuiApplication::primaryScreen();
pixmap=screen->grabWindow(0);
将桌面截屏放置剪切板中
QClipboard *clipboard = QGuiApplication::clipboard();
clipboard->setPixmap(pixmap);
开另一进程取剪切板桌面截屏:
QClipboard *clipboard = QApplication::clipboard();
pixmap=clipboard->pixmap();
以上为使用剪切板实现进程通信的主要函数部分。