• 6961阅读
  • 3回复

[提问]qt的KeyPressEvent(键盘)事件来 控制 button [复制链接]

上一主题 下一主题
离线pinkyuanxue
 
只看楼主 正序阅读 楼主  发表于: 2012-03-07
— 本帖被 XChinux 从 论坛公告栏 移动到本区(2013-02-19) —
我重写了qt的KeyPressEvent(键盘)事件来 控制 button,使button聚焦,为什么不起作用啊?
离线miloc

只看该作者 3楼 发表于: 2013-02-19
这几个键要焦点在当前控件上才能响应的
离线pinkyuanxue
只看该作者 2楼 发表于: 2012-03-09
下面是我写的事件处理的函数,让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();



    }
}  
离线dxfans

只看该作者 1楼 发表于: 2012-03-07
那你那个事件处理是怎么写的了???,你就这样提问,人家怎么回答你的问题?
快速回复
限100 字节
 
上一个 下一个