2014-11-06 38 views
1

我正在通过Qt5应用程序tutorial。在创建行动,我不断看到的“&”使用像follwoing:Qt在tr中使用“&”

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的单证使用这些符号,而不解释他们的用途。此外,当我删除“&”符号时,结果应用程序似乎根本没有改变。

+0

如果我没有记错,它会为字符串描述的操作设置键盘快捷键。 (例如,在这种情况下,在Windows上它将是ctrl-x) – Adam 2014-11-06 23:08:50

+0

谢谢大家!你们可以指点我在哪里记录?我甚至不知道要搜索哪个关键字。 – Asy 2014-11-06 23:32:54

回答

6

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

但它对QAction有特殊含义:它将下列字符设置为菜单中条目的快捷方式,因此当您打开“文件”菜单时,按下n键将激活“新建”条目, x将激活“退出”等。根据操作系统的不同,&之后的字符也可以加下划线(在Windows上,按Alt键时仅加下划线)。

+1

在Windows上,至少,这些快捷键不仅适用于菜单。他们可以用于任何小部件。例如如果按下'O'并且有一个按钮定义为'&Ok',您将激活按钮(只要您不在捕获按键按下的小部件,如文本小部件) – RobbieE 2014-11-09 08:18:43

2

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