1. 程式人生 > >Qt 鍵盤上下左右改變控制元件焦點 (就像桌面上下左右選擇一樣)

Qt 鍵盤上下左右改變控制元件焦點 (就像桌面上下左右選擇一樣)

只要視窗上的控制元件按照一個有序的二維排列設定objectname就可以。


比如 11 12 13 

         21 22 23

之類的設定名字,然後一個變數相應上下左右按鍵操作,利用findChild(objetname)找到該位置上的控制元件,如果該位置上沒有控制元件,則變數恢復到上一次的值。

boolMainWindow::eventFilter(QObject*obj,QEvent*event)
{
if(event->type()==QEvent::KeyPress){
QKeyEvent*ev=(QKeyEvent*)event;
switch(ev->key())
{
caseQt::Key_Up:
break;
caseQt::Key_Left:
break;
caseQt::Key_Right:
break;
caseQt::Key_Down:
break;
}
returntrue;
}
returnfalse;
}