我正在为selectOverlay
qt 上的某些操作添加快捷键列表(键 0-9)。如何检索哪个击键触发了插槽selectOverlay()
?
connect( selectOverlay, SIGNAL(triggered()), this, SLOT(selectOverlay()) );
这看起来像是何时使用QSignalMapper
该类的一个很好的例子。
我没试过,但是。
在插槽上,您可以调用
QObject::sender()
获取指向发出信号的对象的指针。
然后您可以将指针转换为 QShorcut 或 QShorcutEvent
并使用key()查询密钥
如果它是一个 qaction,您可以在创建它时用密钥填充它的 data(),并在插槽中正确转换后请求它。
试试哪种情况适合你。