Russian Qt Forum

Qt => Общие вопросы => Тема начата: __Heaven__ от Ноябрь 12, 2015, 11:06



Название: [Решено] Shortcuts в контекстном меню
Отправлено: __Heaven__ от Ноябрь 12, 2015, 11:06
Привет, друзья!
Есть у меня класс, наследованный от QTableView. Я в нём создаю меню:
Код
C++ (Qt)
void TableView::createContextMenu(){
   QAction *copyAct = new QAction("Копировать", &contextMenu);
   QAction *removeRowAct = new QAction("Удалить строки", &contextMenu);
 
   copyAct->setShortcut(QKeySequence::Copy);
   removeRowAct->setShortcut(QKeySequence::Delete);
 
   connect(copyAct, SIGNAL(triggered()), SLOT(copySelectedToClipboard()));
   connect(removeRowAct, SIGNAL(triggered()), SLOT(removeSelectedRows()));
 
   QList<QAction*> actionList = {
       copyAct,
       removeRowAct
   };
   contextMenu.addActions(actionList);
}
 
Но при таком подходе у меня не срабатывают горячие клавиши.
Что не так?


Название: Re: Shortcuts в контекстном меню
Отправлено: GreatSnake от Ноябрь 12, 2015, 11:42
Похоже про твое меню кроме TableView никто и не знает.
Да и нужно ли оно? Ведь Qt может всё сам за тебя сделать.
Достаточно actionList дабавить непоследственно TableView и задать TableView::setContextMenuPolicy( Qt::ActionsContextMenu ).


Название: Re: Shortcuts в контекстном меню
Отправлено: __Heaven__ от Ноябрь 12, 2015, 12:13
Спс, заработало. А я пытался сделать через contextMenuEvent.