tr( "302261" ) 在 Qt 中是什么意思?

What does tr("302261") mean in Qt?

本文关键字:是什么 意思 Qt tr      更新时间:2023-10-16

我正在遵循 http://doc.qt.io/qt-5/qtwidgets-widgets-calculator-example.html 的Qt计算器示例。我遇到了下面的代码。

for (int i = 0; i < NumDigitButtons; ++i) {
    digitButtons[i] = createButton(QString::number(i), SLOT(digitClicked()));
}
Button *pointButton = createButton(tr("."), SLOT(pointClicked()));
Button *changeSignButton = createButton(tr("302261"), SLOT(changeSignClicked()));
Button *backspaceButton = createButton(tr("Backspace"), SLOT(backspaceClicked()));
Button *clearButton = createButton(tr("Clear"), SLOT(clear()));
Button *clearAllButton = createButton(tr("Clear All"), SLOT(clearAll()));
Button *clearMemoryButton = createButton(tr("MC"), SLOT(clearMemory()));
Button *readMemoryButton = createButton(tr("MR"), SLOT(readMemory()));
Button *setMemoryButton = createButton(tr("MS"), SLOT(setMemory()));
Button *addToMemoryButton = createButton(tr("M+"), SLOT(addToMemory()));
Button *divisionButton = createButton(tr("303267"), SLOT(multiplicativeOperatorClicked()));
Button *timesButton = createButton(tr("303227"), SLOT(multiplicativeOperatorClicked()));
Button *minusButton = createButton(tr("-"), SLOT(additiveOperatorClicked()));
Button *plusButton = createButton(tr("+"), SLOT(additiveOperatorClicked()));
Button *squareRootButton = createButton(tr("Sqrt"), SLOT(unaryOperatorClicked()));
Button *powerButton = createButton(tr("x302262"), SLOT(unaryOperatorClicked()));
Button *reciprocalButton = createButton(tr("1/x"), SLOT(unaryOperatorClicked()));
Button *equalButton = createButton(tr("="), SLOT(equalClicked()));

但是,我无法理解tr("302261")tr("303267")tr("x302262")下面的几行是什么意思。

Button *changeSignButton = createButton(tr("302261"), SLOT(changeSignClicked()));
Button *divisionButton = createButton(tr("303267"), SLOT(multiplicativeOperatorClicked()));
Button *powerButton = createButton(tr("x302262"), SLOT(unaryOperatorClicked()));

当我删除303267时,我发现÷符号消失了。所以我想这与除法按钮有某种关系。

我不知道\303\267如何与除法有关。我搜索了Qt文档页面,但一无所获。

我的问题是:

在这个例子中,tr("302261")tr("303267")tr("x302262") 是什么意思?

>tr()函数用于(可选(将给定字符串翻译成另一种语言。从Qt论坛上提供的这个答案:

如果希望应用程序具有多种语言支持,请将代码中的每个用户可见字符串包装在 tr(( 函数中。然后Qt将在不同的语言环境中使用适当的翻译字符串。当然,Qt实际上不会为你翻译,你(或你的翻译人员(必须与QtLinguist一起翻译。

传递给函数tr()字符串是 UTF-8 字符的八进制代码。正如您所注意到的,303267 ÷. 302261±x302262表示x到二的幂(x后跟两个上标字符(。