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