将文本和占位符、变量复制到剪贴板
Copy text and placeholders, variables to the clipboard
在我的应用程序中,我想生成随机数或字符串,并在其前面添加一个文本。对我来说重要的是文本不会出现在我的 window 中,而是被复制到剪贴板。
int randomnumber = rand() % 46 + 1;
QClipboard *cb = QApplication::clipboard();
cb->setText("Just a test text. And here we have a placeholder! %i", randomnumber);
QClipboard 可以很好地处理纯文本(在本例中 "Just a test text. And here we have a placeholder!")。但我也想复制随机数的占位符,以便复制的文本如下所示:
只是一个测试文本。在这里我们有一个占位符! 42
遗憾的是我收到错误信息:
从 'int' 到 'QClipboard::Mode'
的无效转换
是否可以将文本、占位符等复制到剪贴板而不仅仅是纯文本?
您没有正确使用函数 setText
。规范原型是 text(QString & subtype, Mode mode = Clipboard) const
来自 documentation.
你想要做的是提前 assemble 你的 QString
然后用它来填充剪贴板。
QString message = QString("Just a test text.
And here we have a placeholder! %1").arg(randomnumber);
cb->setText(message);
请注意,参数是 %1
而不是 %f
。参数编号在 Qt
中是连续的。请查看 this 文章了解更多信息。
希望对您有所帮助!
您必须在将字符串作为参数传递给 cb->setText
之前格式化您的字符串。
只需这样做:
QString txt = QString("Just a test text. And here we have a placeholder! %1").arg(randomnumber);
然后:
cb->setText(txt);
在我的应用程序中,我想生成随机数或字符串,并在其前面添加一个文本。对我来说重要的是文本不会出现在我的 window 中,而是被复制到剪贴板。
int randomnumber = rand() % 46 + 1;
QClipboard *cb = QApplication::clipboard();
cb->setText("Just a test text. And here we have a placeholder! %i", randomnumber);
QClipboard 可以很好地处理纯文本(在本例中 "Just a test text. And here we have a placeholder!")。但我也想复制随机数的占位符,以便复制的文本如下所示:
只是一个测试文本。在这里我们有一个占位符! 42
遗憾的是我收到错误信息: 从 'int' 到 'QClipboard::Mode'
的无效转换是否可以将文本、占位符等复制到剪贴板而不仅仅是纯文本?
您没有正确使用函数 setText
。规范原型是 text(QString & subtype, Mode mode = Clipboard) const
来自 documentation.
你想要做的是提前 assemble 你的 QString
然后用它来填充剪贴板。
QString message = QString("Just a test text.
And here we have a placeholder! %1").arg(randomnumber);
cb->setText(message);
请注意,参数是 %1
而不是 %f
。参数编号在 Qt
中是连续的。请查看 this 文章了解更多信息。
希望对您有所帮助!
您必须在将字符串作为参数传递给 cb->setText
之前格式化您的字符串。
只需这样做:
QString txt = QString("Just a test text. And here we have a placeholder! %1").arg(randomnumber);
然后:
cb->setText(txt);