Qt如何捕獲鍵盤(pán)事件?
Qt如何捕獲鍵盤(pán)事件?
繁華開(kāi)滿(mǎn)天機(jī)
2019-02-13 15:11:24
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
你可以在一個(gè) QWidget 或者是任何一個(gè)繼承于QWidget的類(lèi)中捕獲鍵盤(pán)按下事件.
void QWidget::keyPressEvent(QKeyEvent *event)
{
int keyValue = event->key();
if(keyValue & Qt::Key_Left ){
/*鍵盤(pán)向左按下*/
}else if(keyValue & Qt::Key_Up){
/*鍵盤(pán)向上按下*/
}
/*如果是QWidget的子類(lèi)記得調(diào)用QWidget的keyPressEvent*/
QWidget::keyPressEvent(event);
}
手寫(xiě)的可能有很多錯(cuò)誤...
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊
你可以捕獲主角所在widget窗口中的鍵盤(pán)事件,也可以在主角身上掛事件過(guò)濾器來(lái)實(shí)現(xiàn)
舉報(bào)