首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在iOS上QT/QML中使用剪贴板

如何在iOS上QT/QML中使用剪贴板
EN

Stack Overflow用户
提问于 2017-09-09 05:51:42
回答 1查看 794关注 0票数 1

将文本复制到系统剪贴板的QML代码

代码语言:javascript
运行
复制
Item {

TextEdit {
    id: cliphelper
    visible: false
}

Button{
    onClicked: {
        cliphelper.text = "testclip"
        cliphelper.selectAll()
        cliphelper.copy()
    }
}

当我运行这个,然后通过电子邮件,我得到这个。

氀漀甀渀最攀

此剪辑/过去的代码在Windows和OSX中运行良好。在iOS上很奇怪

问:这里有编码转换吗?从“测试剪辑”到"氀漀甀渀最攀“?

注: QT 5.7

同样,当我直接粘贴回我的应用程序时,它会很好,但是当我再次从另一个应用中剪切这个氀漀甀渀最攀,然后粘贴它时,它不会转换它。

在ios剪贴板和我的应用程序之间是否存在某种ssl?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-03-27 11:39:05

在我的QtQuick应用程序中,使用QT5.7.1在iOS上使用QT5.7.1,我也面临着类似的问题。

似乎QT5.7.1中的QClipboard实现有一个错误。我可以使用以下代码使复制/粘贴工作,从而直接将文本设置为iOS粘贴板。

代码语言:javascript
运行
复制
#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://bugreports.qt.io/browse/QTBUG-56229

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46127567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档