我在qt上添加了一些快捷方式(鍵0-9)到一些動作selectOverlay
的列表。如何檢索哪個按鍵觸發了selectOverlay()
上的插槽?檢索在Qt上觸發函數的擊鍵
connect(selectOverlay, SIGNAL(triggered()), this, SLOT(selectOverlay()));
我在qt上添加了一些快捷方式(鍵0-9)到一些動作selectOverlay
的列表。如何檢索哪個按鍵觸發了selectOverlay()
上的插槽?檢索在Qt上觸發函數的擊鍵
connect(selectOverlay, SIGNAL(triggered()), this, SLOT(selectOverlay()));
我沒有嘗試,但。
在插槽中就可以調用
QObject::sender()
爲了得到一個指針lauched信號的對象。
然後你就可以用鑰匙你的時候投的指針QShorcut或QShorcutEvent
和查詢與key()
如果它是一個的QAction的鍵,就可以填補的data()它創建它並在插槽中正確投射後請求它。
試試哪種情況適合你。
這看起來像時使用QSignalMapper
類一個很好的例子。
你不能。你的用例是什麼? – 2013-05-06 15:33:49
@Frank圖像上最多可能有9個圖層,我希望用戶能夠通過按鍵選擇每個圖層。僅供參考,我創建了9個操作,每個按鍵一個,並將值放在數據字段中。這樣至少我不必重複觸發函數的代碼。 – quimnuss 2013-05-06 21:01:32