Как правильно использовать ярлыки QAction? У меня есть QTableView с пользовательским контекстным меню, где помимо других действий я хочу иметь действие Refresh F5
:
// Popup
QAction *a;
a = mPopup.addAction(IconsManager::icon(fa::refresh), "Refresh", this, &UserPlaylistsSubWidget::refreshList, QKeySequence(Qt::Key_F5));
a->setShortcutVisibleInContextMenu(true);
Сначала я должен был установить setShortcutVisibleInContextMenu
, чтобы сделать его видимым в контекстном меню, но действие по-прежнему не запускается при нажатии F5 (QTableView является активным и сфокусированным виджетом). Пробовал также разные значения для QAction::setShortcutContext
, но по-прежнему нет результата.
Qt 5.12. Linux (KDE Neon)
Редактировать: вот код, который всплывает всплывающее
connect(ui->list, &QWidget::customContextMenuRequested, this, &UserPlaylistsSubWidget::popUp);
void UserPlaylistsSubWidget::popUp(const QPoint &pos)
{
mPopup.popup(ui->list->viewport()->mapToGlobal(pos));
}