如何将 KeyReleaseEvent 与 Button 合并



如何使用signal合并KeyReleaseEventQPushButton。我的意思是每当用户按回车键按钮时,都应该使用 SLOT 调用某些函数。那么我必须在信号中使用什么呢?

void mywindow::keyReleaseEvent(QKeyEvent *event)
{
    switch(event->key())
    {
        case Qt::Key_Enter:
            connect(button1, SIGNAL(clicked()), this, SLOT(fileNew()));
            connect(button2, SIGNAL(clicked()), this, SLOT(file()));
        break;  
    }
}

如果我正确理解您的问题,您想在按回车键时单击某个按钮。您只需调用 QAbstractButton::click() 函数即可执行单击。

connect(button1,SIGNAL(clicked()),this,SLOT(fileNew()));
connect(button2,SIGNAL(clicked()),this,SLOT(file())); //do this in your constructor, or somewhere else.. just make sure you only do this once

 

void mywindow::keyReleaseEvent(QKeyEvent *event)
{
    switch(event->key())
    {
        case Qt::Key_Enter:
            button1->click();    
        break;    
    }
}

有快捷方式属性来处理这种情况。
我建议使用带有快捷方式值的 QAction。失去了额外的功能。

相关内容

  • 没有找到相关文章

最新更新