如何使用signal
合并KeyReleaseEvent
和QPushButton
。我的意思是每当用户按回车键按钮时,都应该使用 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。失去了额外的功能。