检索触发Qt上的函数的击键

时间:2013-05-06 15:24:04

标签: qt shortcuts

我正在为qt上的某个操作selectOverlay添加一个快捷键列表(键0-9)。如何检索哪个击键触发了selectOverlay()上的插槽?

connect( selectOverlay, SIGNAL(triggered()), this, SLOT(selectOverlay()) );

2 个答案:

答案 0 :(得分:0)

这似乎是何时使用QSignalMapper类的一个很好的例子。

答案 1 :(得分:0)

我没试过,但是。

在插槽上,您可以拨打

QObject::sender()

获取指向启动信号的对象的指针。

然后你可以将指针强制转换为QShorcut或QShorcutEvent

并使用key()

查询密钥

如果它是一个qaction,你可以在创建时用密钥填充它的data()并在插槽中正确转换后请求它。

试试哪种情况适合你。