Qt 在粘贴到文本字段之前,如何修改剪贴板中的字符串?
Qt 在粘贴到文本字段之前,如何修改剪贴板中的字符串?,qt,qml,clipboard,Qt,Qml,Clipboard,TextField类型(我使用的是QML,但不重要)提供了一种方法。但是,我希望能够在粘贴之前从剪贴板数据中删除所有空白 Qt似乎没有提供任何钩子来以简单的方式实现这一点。有人知道如何实现这一点吗?< p>可以公开一个修改剪贴板数据并将其返回到qML:的C++函数。 class ClipboardModifier : public QObject { // ... Q_INVOKABLE QString modifiedClipboardText() const {
TextField
类型(我使用的是QML,但不重要)提供了一种方法。但是,我希望能够在粘贴之前从剪贴板数据中删除所有空白
Qt似乎没有提供任何钩子来以简单的方式实现这一点。有人知道如何实现这一点吗?< p>可以公开一个修改剪贴板数据并将其返回到qML:的C++函数。
class ClipboardModifier : public QObject
{
// ...
Q_INVOKABLE QString modifiedClipboardText() const
{
QClipboard *clipboard = QGuiApplication::clipboard();
QString clipboardText = clipboard->text();
// modify the text...
return clipboardText;
}
}
或者只需制作一个简单的QClipboard包装器,如答案所示,使用JavaScript在QML中进行修改,然后直接在文本字段上设置文本。调用paste(),然后根据需要更改onTextChaged
事件中的文本。