Мой QGraphicsScene
подкласс WorkspaceScene содержит переменную для каждого действия, которое он позже использует в контекстном меню. У меня есть функция, которая устанавливает действия и добавляет ярлыки (которая вызывается в конструкторе класса), а затем у меня есть функция, которая создает контекстное меню, которое вызывается в contextMenuEvent
функции, которую я повторно реализовал.
Вот соответствующий код:
// Constructor
WorkspaceScene::WorkspaceScene()
{
_setUpActions();
}
// ContextMenuEvent
void WorkspaceScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
{
_setUpItemMenu();
_itemContextMenu.exec(event->screenPos());
}
void WorkspaceScene::_setUpActions()
{
deleteAction = new QAction("Delete");
deleteAction->setShortcut(QKeySequence::Delete); // This should add the shortcut
connect(deleteAction, &QAction::triggered, this, &WorkspaceScene::deleteItemSlot);
}
void WorkspaceScene::_setUpItemMenu()
{
_itemContextMenu.clear();
_itemContextMenu.addAction(deleteAction);
}
Это успешно настраивает действия, и они работают внутри контекстного меню, но ярлык не работает. Как правильно это сделать?