コンテキスト メニュー (QMenu) があり、次のようにコピー アクションを追加します。
m_copyNodeAction = new QAction(tr("Copy node"), &m_mainContextMenu);
m_copyNodeAction->setShortcut(QKeySequence("Ctrl+C"));
m_copyNodeAction->setShortcutVisibleInContextMenu(true);
m_mainContextMenu.addAction(m_copyNodeAction);
QObject::connect(m_copyNodeAction, &QAction::triggered, [this] () {
std::cout << "Copy node triggered!" << std::endl;
});
メニューは次のように開きます (ホスティング クラスは から派生しますQGraphicsView
)。
m_mainContextMenu.exec(mapToGlobal(m_clickedPos));
メニューにはアクション OK が表示されますが、 によってトリガーされませんCtrl+C
。メインメニューのアクションに同じアプローチを使用しましたが、なぜこれが違うのですか?
他のショートカットもいくつか設定しようとしましたが、何も機能しません。