下面是我写的事件处理的函数,让button聚焦,但是没起效果
void Disk_Operate::keyPressEvent(QKeyEvent *event)
{
switch(event->key())
{
case Qt::Key_Right:
qDebug()<<"右键按下";
if(0 == focusbutton)
{
buttonlist[focusbutton+1]->setFocus();
focusbutton +=1;
}
if(1 == focusbutton)
{
buttonlist[focusbutton-1]->setFocus();
focusbutton -=1;
}
setFocus();
break;
case Qt::Key_Left:
if(0 == focusbutton)
{
buttonlist[focusbutton+1]->setFocus();
focusbutton +=1;
}
if(1 == focusbutton)
{
buttonlist[focusbutton -1]->setFocus();
focusbutton -=1;
}
setFocus();
break;
case Qt::Key_Return:
if( 0 == focusbutton)
emit send_disinfo();
else
if(1 == focusbutton)
emit send_disinfo();
break;
case Qt::Key_Escape:
emit show_prewidget();
break;
default:
QWidget::keyPressEvent(event);
setFocus();
}
}