0

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

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

2 回答 2

0

这看起来像是何时使用QSignalMapper该类的一个很好的例子。

于 2013-05-06T22:58:11.163 回答
0

我没试过,但是。

在插槽上,您可以调用

QObject::sender()

获取指向发出信号的对象的指针。

然后您可以将指针转换为 QShorcut 或 QShorcutEvent

并使用key()查询密钥

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

试试哪种情况适合你。

于 2013-05-07T06:13:32.973 回答