2013-05-06 25 views
0

我在qt上添加了一些快捷方式(鍵0-9)到一些動作selectOverlay的列表。如何檢索哪個按鍵觸發了selectOverlay()上的插槽?檢索在Qt上觸發函數的擊鍵

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

你不能。你的用例是什麼? – 2013-05-06 15:33:49

+0

@Frank圖像上最多可能有9個圖層,我希望用戶能夠通過按鍵選擇每個圖層。僅供參考,我創建了9個操作,每個按鍵一個,並將值放在數據字段中。這樣至少我不必重複觸發函數的代碼。 – quimnuss 2013-05-06 21:01:32

回答

0

我沒有嘗試,但。

在插槽中就可以調用

QObject::sender() 

爲了得到一個指針lauched信號的對象。

然後你就可以用鑰匙你的時候投的指針QShorcut或QShorcutEvent

和查詢與key()

如果它是一個的QAction的鍵,就可以填補的data()它創建它並在插槽中正確投射後請求它。

試試哪種情況適合你。

0

這看起來像時使用QSignalMapper類一個很好的例子。