将文本复制到系统剪贴板的QML代码
Item {
TextEdit {
id: cliphelper
visible: false
}
Button{
onClicked: {
cliphelper.text = "testclip"
cliphelper.selectAll()
cliphelper.copy()
}
}
当我运行这个,然后通过电子邮件,我得到这个。
氀漀甀渀最攀
此剪辑/过去的代码在Windows和OSX中运行良好。在iOS上很奇怪
问:这里有编码转换吗?从“测试剪辑”到"氀漀甀渀最攀“?
注: QT 5.7
同样,当我直接粘贴回我的应用程序时,它会很好,但是当我再次从另一个应用中剪切这个氀漀甀渀最攀,然后粘贴它时,它不会转换它。
在ios剪贴板和我的应用程序之间是否存在某种ssl?
谢谢
发布于 2018-03-27 11:39:05
在我的QtQuick应用程序中,使用QT5.7.1在iOS上使用QT5.7.1,我也面临着类似的问题。
似乎QT5.7.1中的QClipboard实现有一个错误。我可以使用以下代码使复制/粘贴工作,从而直接将文本设置为iOS粘贴板。
#include "ioswrapper.h"
#import <UIKit/UIPasteboard.h>
ioswrapper::ioswrapper(QObject *parent):QObject(parent)
{
}
void ioswrapper::setPasteBoardString(const QString &paste)
{
UIPasteboard *pb = [UIPasteboard generalPasteboard];
if (pb) {
const char *str = paste.toUtf8().data();
NSString *text = [NSString stringWithCString:(const char *)str
encoding:(NSStringEncoding)NSUTF8StringEncoding];
if (text)
pb.string = text;
}
}
https://stackoverflow.com/questions/46127567
复制相似问题