QAction::setShortcut
表示设置单一快捷键,且经过测试后
(1)、快捷键多次设置
QAction progjectAct = new QAction();
progjectAct->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_S)));
progjectAct->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_K)));
`效果`,`progjectAct`响应`Ctrl + K`, 不响应`Ctrl +S`
(2)、废弃快捷键再用
QAction progjectAct = new QAction();
progjectAct->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_S)));
progjectAct->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_K)));
QAction progjectAct_ = new QAction();
progjectAct_->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_S)));
效果,progjectAct
响应Ctrl + K
, 不响应Ctrl +S, progjectAct_
响应Ctrl + S
(3)、快捷键冲突
QAction progjectAct = new QAction();
progjectAct->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_S)));
QAction progjectAct_ = new QAction();
progjectAct_->setShortcut (QKeySequence(Qt::CTRL + Qt::Key_S)));
效果,`progjectAct`不响应`Ctrl +S, progjectAct_`不响应`Ctrl + S`(在不同的位置。。效果不一样,也就是说,可能响应Action A 不响应Action B)
QAction::setShortcuts表示系统支持多个快捷键
(1)、
QList<QKeySequence> list;
list << QKeySequence(Qt::CTRL + Qt::Key_S) << QKeySequence(Qt::CTRL + Qt::Key_K);
QAction progjectAct = new QAction();
progjectAct->setShortcuts(list);
效果,progjectAct
响应Ctrl + K
, 响应Ctrl +S