Qt进程间通信之剪切板
来源:互联网 发布:外微分 知乎 编辑:程序博客网 时间:2024/05/15 20:02
以截图软件为例,同时运行截图软件和另外一个读取所截取图片的软件,说明这两个进程间通信。之前的截图软件已经做好,接下来准备一个读取剪切板的图片。
1.新建一个mainWindow工程,在其UI界面中,拖入一个label。
2.进入mianwindow.h中定义一个全局的定时器和一个全局的QPixmap类型变量,并做一个定时器的信号槽连接,如下:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); timer=new QTimer; QObject::connect(this->timer,SIGNAL(timeout()),this,SLOT(getpicture())); timer->start(200);}
定时器定时200ms,即每0.2秒读取一次剪切板的图片。
3.添加槽函数代码,如下:
void MainWindow::getpicture(){ QClipboard *board=QApplication::clipboard(); this->pixmap=board->pixmap(); ui->label->setPixmap(this->pixmap.scaled(ui->label->size()));}
定义一个QClipboard类的对象,通过该对象的pixmap返回一个QPixmap结构数据传递给全局的pixmap,即剪切板的图片被读入到程序当初,利用label的setPixmap方法,将其显示在label中。注意,这里没有让定时器stop,即定时器一直执行。
4.更改截屏软件代码。
更改定时器,设置定时器的时长跟读取剪切板的时间一样,即200ms,同时关闭定时器的stop,这样就可以在截取图片的label看到动态图片了。
5.两个工程分别用两个Qt跑,这就是两个进程。
运行截图软件工程
然后运行读取剪切板工程
这就是截屏软件在不停的截取当前屏幕的图片,并且保存到了剪切板,然后另外一个进程不停的从剪切板上读取图片显示出来。
0 0
- Qt进程间通信之剪切板
- 进程间通信之剪切板
- Windows进程间通信之剪切板
- MFC进程间通信之剪切板
- QT学习之路十五(进程通信——系统剪切板和共享内存)
- 进程间通信——剪切板
- 使用剪切板的进程间通信
- QT 进程间通信 之 共享内存
- Qt之进程间通信(IPC)
- Qt之进程间通信(QProcess)
- QT间进程通信之共享内存
- Qt进程间通信 之使用QSharedMemory
- Qt之进程间通信(QProcess)
- Qt之进程间通信(IPC)
- 进程之间的通信-剪切板
- qt 进程间通信
- QT进程间通信
- QT进程间通信
- IOS 关于用xmppframework开发的若干问题(1)
- Asp.Net MVC中Action跳转小结
- Interpolator 属性
- C#学习日记 指针
- 《现代操作系统》第2章 进程与线程
- Qt进程间通信之剪切板
- XLRecyclerView的列表下拉刷新、上拉刷新、预加载、设置EmptyView、Item点击和长按事件
- linux初学 unit5
- Arduino的使用
- web 参数 =undefined 问题
- C# 使用SqlBulkCopy类批量复制大数据
- 项目引用DirectX组建报LoaderLock
- 浏览器内核
- SSL 1762——工厂的烦恼