2014-11-06 42 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操作。