1 .文管跨平台拷贝
1.1 流程图
1.2 剪贴板读写的坑
(1)服务程序无法实现剪贴板的监控功能。
(2)写剪贴板功能,不能在thritf的sessionHandler类的实现函数中写入,会提示一个com错误,必须emit到mydatachange的类中的函数才可以实现。
(3)图片数据转成string对象,防止0字符截断。
(4)拷贝文件时,可以以文本的形式获取路径。但是不能以这种形式写入剪贴板,黏贴时会失败。
(5)UOS和windows粘贴复制,必须是剪贴板隔离的,而且代码实现要避免自己写的剪贴板,又被自己捕获,导致通信无限循环了。
2. 剪贴板拷贝功能实现
剪贴板拷贝是在mydatachange类中实现。构造函数使用如下函数,实现监控功能。
QClipboard* clipBoard = QGuiApplication::clipboard();
QObject::connect(clipBoard, SIGNAL(dataChanged()), this, SLOT(mydataChangedCheck()));
剪贴板监控功能是QClipboard实现的,需要绑定dataChanged信号,而且承载QClipboard的类,必须继承来自QObject的对象。