Qt,使用"&"在tr

时间:2014-11-06 23:04:53

标签: qt tr

我正在浏览Qt5应用程序tutorial。在创建动作时,我不断看到“&”的用法像下面这样:

newAct = new QAction(QIcon(":/images/new.png"), tr("&New"), this)
...
openAct = new QAction(QIcon(":/images/open.png"), tr("&Open..."), this);
...
enter code exitAct = new QAction(tr("E&xit"), this);
...

我似乎无法找到为什么这些“&”如果使用,tr上的Qt文档使用这些符号而不解释它们的用途。此外,当我删除“&”符号,结果应用程序似乎根本没有变化。

3 个答案:

答案 0 :(得分:6)

tr而言&只是字符串中的另一个字符,没有特殊含义。

然而它对QAction具有特殊意义:它将以下字符设置为菜单中条目的快捷方式,因此当您打开“文件”菜单时,按n键将激活“新建” “输入,x将激活”退出“,依此类推。取决于操作系统,&也可以加下划线(在Windows上,只有当按下Alt键时才会加下划线)。

答案 1 :(得分:2)

&用于表示应该用于给定菜单项的Alt键快捷键的字符。假设这些操作被放入名为&File的菜单中,按 Alt-F ,则 N 将激活New操作。

答案 2 :(得分:0)

它用于快捷方式(在许多情况下它是 Alt 和字符)。

如果您的代码没有 &,它将是这样的:

enter image description here

现在,如果在要用作快捷方式的键之前有 &,它将如下所示:

enter image description here

这里我假设您已经将这些操作添加到菜单中,如上图所示,并且您还有 & 作为菜单名称,如下所示:

fileMenu = menuBar()->addMenu("&File");