メニューにショートカットキーを対応させる方法
QTでメニューバーの各メニューにショートカットキーを対応させたいときはメニューのタイトルに"&"をつけるだけで自動的にショートカットさせることができます。
例えば次のような4つのメニューのあるメニューバーがあります。
この4つのメニューにALTキーを押したときにそれぞれショートカットキーを対応させたい場合は次のようにメニューを作ります。
menuBar()->addMenu(new QMenu(tr("File(&F)"), this)); menuBar()->addMenu(new QMenu(tr("Editing(&E)"), this)); menuBar()->addMenu(new QMenu(tr("Display(&D)"), this)); menuBar()->addMenu(new QMenu(tr("Help(&H)"), this));
各メニューのタイトルに一部に"&"の文字をつけるだけで [ALT + &の後にある文字] をショートカットキーとして対応させることができます。
もし"&"自体を表示したいときは"&&"というふうにエスケープすればOKです。
このようにして作ったメニューバーはALTキーが押されたときにショートカットに対応している文字に下線が引かれます。
そしてALTを押している最中にメニューに割り当てたキーを押すとメニューがプルダウンして表示されます。
これが分からず数時間悩んでました...orz
以上、メニューへのショートカットキーの割り当てでした。では、また!
© Kaz