如何在Qt应用程序中检查重复项的快捷方式?

sig*_*gil 6 c++ qt keyboard-shortcuts

我想允许我的用户为各种操作分配自己的快捷方式.Qt为此目的提供了一个标准小部件QKeySequenceEdit.不幸的是,这个小部件不检查它的输入是否重复,并且很高兴接受甚至标准组合等Ctrl+C.我想做的是:

  • 理想情况下,获取我的应用程序中活动的所有快捷方式的列表及其翻译提示.我不认为这是可能的.
  • 理想情况下,连接到QKeySequenceEdit::editingFinished(),创建快捷方式并以某种方式触发它以观察QShortcut::activatedAmbiguously()信号.但是,似乎无法以编程方式触发快捷方式.

当然可以通过向操作系统提供关键序列并让它回放来检查模糊激活,但它看起来相当牵强.有更好的想法吗?