如果我想在剪贴板中引用字符串:
qDebug() << QString("Boat\nProgramming");
然后复制输出:
"Boat\nProgramming"
如果我希望剪贴板中有一个没有引号的字符串:
qDebug().noquote() << QString("Boat\nProgramming");
然后复制输出:
Boat
Programming
在Qt中,将引用和非引用字符串注册到我的Ubuntu系统剪贴板的正确方式是什么?
背景/实用程序:
我已经构建了一个命令行应用程序,为调试目的,我偶尔需要将字符串转储到网站的字符串解释器(如果您关心的话,从文本到语音)。将其转储到剪贴板,而不是手动突出显示文本、复制和粘贴,确实改善了我的工作流程。
发布于 2016-11-05 10:44:36
下面是我实现的一个非常简单的解决方案:
// #include <QCoreApplication>
// I had to swap to QGuiApplication to get the clipboard functionality.
#include <QGuiApplication>
#include <QClipboard>
#include "whatever.h"
int main(int argc, char *argv[])
{
QGuiApplication a(argc, argv);
a.clipboard()->setText(QString("Boat\nProgramming")); // Quoted
a.clipboard()->setText(QString("Boat\nProgramming") // Non-Quoted
.replace("\n","\\n")
.replace("\t","\\t"));
return 0;
}
正如所建议的,这些不是严格保护的函数,而是用于小字符串的基本解决方案。在我的情况下是临时的,完全用于调试目的。请阅读他的文章,因为他提供了避免代码注入和其他安全风险的最佳实践。
https://stackoverflow.com/questions/40436045
复制相似问题