【发布时间】:2019-04-02 19:54:15
【问题描述】:
使用 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 霓虹灯)
编辑:这是弹出的代码
connect(ui->list, &QWidget::customContextMenuRequested, this, &UserPlaylistsSubWidget::popUp);
void UserPlaylistsSubWidget::popUp(const QPoint &pos)
{
mPopup.popup(ui->list->viewport()->mapToGlobal(pos));
}
【问题讨论】:
-
能否请您至少显示您提出
mPopup菜单的代码? -
在上面添加代码
标签: qt qtableview qmenu qaction