2011-01-07 79 views
20

我已經使用Qt Creator創建了一個GUI。這是通過拖放小部件。現在我想分配所有按鈕的快捷鍵。任何人都可以讓我知道該怎麼做?先謝謝你。爲按鈕指定快捷鍵 - Qt C++

回答

42

您的按鈕可能有一個插槽連接到他們的clicked()信號。

要添加快捷鍵,只需將快捷鍵的activated()信號連接到相同的插槽即可。

在你的代碼,#include <QShortcut>然後你就可以添加一個快捷鍵這樣的插槽:

QShortcut *shortcut = new QShortcut(QKeySequence("Ctrl+O"), parent); 
QObject::connect(shortcut, SIGNAL(activated()), receiver, SLOT(yourSlotHere())); 

如果父母是你的快捷方式(例如主窗口)的母公司,yourSlotHere()是您希望調用快捷方式的插槽的名稱,以及receiveryourSlotHere()所在的對象。

用您想要分配的任何快捷方式替換"Ctrl+O"

您還可以在QShortcut的文檔頁面找到更多信息。

+2

我們是不是泄漏`shortcut`對象,還是因爲我們指定了父對象而被釋放了? – Niklas 2015-04-15 19:02:13

13

或者,如果快捷鍵對應按鈕文本中的某個字符,則可以將&預製爲該字符。如果您需要文字&,請使用& &。

enter image description here

非常方便。即使有點馬車:

3

今天(Qt5.7),我們可以直接在Qt Designer中使用快捷屬性分配快捷鍵我有「驗證「通過在切換到另一個小部件之前單擊相同小部件的另一個屬性的快捷方式!

但它的工作原理。