内容纲要
Shotcut 在源码中定义了 actions.h 文件,此头文件内有一个单例类,继承自 QObject
#define Actions ShotcutActions::singleton()
使用 Actions 宏即可快速拿到此单例类。
添加新的 Action 于此可以调用类函数
void add(const QString &name, QAction *action, QString group = "");
QAction* action = new QAction(tr("Add Audio Track"), this);
// Set up Shortcut
action->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_U));
connect(action, &Action::triggered, this, [&]() {
addAudioTrack();
})
Actions.add("timelineAddAudioTrackAction", action)
获取已经添加的 Action 可以调用此运算符
QAction *operator [](const QString &key);
Actions["timelineAddAudioTrackAction"];
将 Action 添加到 QMenu 上
QMenu *trackOperationsMenu = new QMenu(tr("Track Operations"), this);
trackOperationsMenu->addAction(Actions["timelineAddAudioTrackAction"]);