[問題] 請問關於Qt判斷按鍵事件的功能
不好意思,小弟在這裡有一問題請教
關於Qt的按鍵事件判斷是在void keyPressEvent(QKeyEvent* e);
來完成,小弟本身設計的程式要選取一些Label如果按住Ctrl的話可以實現多選
所以我就這樣設計
void keyPressEvent(QKeyEvent* e){
if( e->key() == Qt::Key_Control)
isCtrlPress=true;
}
void keyReleaseEvent(QKeyEvent* e){
if( e->key() == Qt::Key_Control)
isCtrlPress=false;
}
本來這樣是沒有什麼問題,當我滑鼠在點Label的時候會去判斷
isCtrlPress是不是等於true
可是小弟的程式的Menu有弄快捷鍵功能
如圖:http://ppt.cc/lbYW
所以當我按下Ctrl的時候isCtrlPress會變True,
可是如果我又按下O,然後設定的選單就會跳出來,
接著程式焦點就會跑到設定的視窗上
這時如果再放開Ctrl的話,isCtrlPress就不會變成false了
因為按鍵的事件判斷是在主視窗來偵測的,
當按了其他功能視窗的快捷鍵,就沒辦法進行按鍵偵測了
我本來有想過要在其他的視窗也都補上按鍵事件的處理
可是感覺有點無腦@@
想請問各位高手有沒有其他更好的建議,
或者是Qt有沒有提供那種隨時可以判斷某按鍵目前是否按下的功能
謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.218.10.18
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):