2011-01-07 41 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()ショートカットを呼び出すスロットの名前です。receiverオブジェクトはyourSlotHere()です。

"Ctrl+O"は、割り当てるショートカットに置き換えてください。

詳細については、QShortcutのドキュメントページを参照してください。

+2

私たちは 'shortcut'オブジェクトを漏らしていませんか、それとも親を指定してから解放されますか? – Niklas

13

また、ショートカットキーがボタンのテキストの一部の文字に対応する場合は、その文字に&を事前に設定することができます。リテラル&が必要な場合は、& &を使用してください。

3

今日(Qt5.7)、我々はショートカットプロパティを使用してのQt Designerで直接ショートカットを割り当てることができます。

enter image description here

かなり便利...でもビットバギー場合:私は、「検証するために持っています"別のウィジェットに切り替える前に同じウィジェットの別のプロパティをクリックすることでショートカット!

しかし、それは動作します。

関連する問題