QString度符号

4
我想知道在翻译中写度数符号的最佳和最干净的解决方案是什么。
我曾经使用了tr( "Snap to 90%1 angles" ).arg( QString::fromUtf8( "°" ) ),但这并不好看。
我尝试过而没有成功:tr( "Snap to 90° angles" ) 我在QAction中使用它:mCommonAngleAction = new QAction( tr( "Snap to 90° angles" ), menu ); 下面是结果:

enter image description here

你有更好的解决方案吗?

如何在使用Qt5/QtQuick 2.1及以上版本时在窗口上打印度符号 - iampranabroy
Qt 版本?如果是 Qt5,请查看此链接:trUtf8 - Marek R
谢谢,但我使用的是Qt4,trUtf8已经过时了... - Denis Rouzaud
1个回答

6

你想要打印的字符串很大程度上取决于你想在哪里打印它。那么你想在哪里打印“Snap to 90° angles”?

如果你想将一个 QLabel 的文本设置为“Snap to 90° angles”,那么像 label->setText(tr("Snap to 90° angles")); 这样的代码就可以正常工作。

如果你想将其打印到控制台,那就要看控制台了。如果控制台不支持 UTF-8,除非你在该控制台上设置一个标志以支持 UTF-8 字符,否则你就没戏了。

在 QMainWindow 构造函数中,使用以下代码:

ui->menubar->actions().first()->setText(QObject::tr("Snap to 90° angless"));

生成:

在此输入图片描述


该图是生成的结果。

你能给我们展示一下代码吗?我尝试在 QAction 上使用它,对我来说它是有效的。请参见上面的编辑... - Iuliu
非常感谢您的澄清。我已经编辑了问题。正如您所注意到的,这是在Linux上。 - Denis Rouzaud
@DenisRouzaud 你考虑过使用 tr(QString::fromUtf8("对齐到90度角")) 吗? - Iuliu
谢谢luliu,我希望有一个更短的版本,但这是一个解决方案。 - Denis Rouzaud

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接