[問題] 請問關於Qt判斷按鍵事件的功能

看板C_and_CPP作者 (15357)時間11年前 (2013/10/01 05:28), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
不好意思,小弟在這裡有一問題請教 關於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
文章代碼(AID): #1IIbs2Sl (C_and_CPP)
文章代碼(AID): #1IIbs2Sl (C_and_CPP)