我正在学习在 Qt (C++) 中处理按键和按键释放事件。我有一个键盘类,我想用它来处理所有这些事件。它继承了 QObject。它不需要处理任何鼠标事件。我试图弄清楚当我的应用程序对该类开放时如何引导所有键盘输入。
我尝试将它作为一个小部件添加到我的 MainWindow 类的布局中并隐藏它(小部件,而不是布局)。目前,这没有回应。
我也在我的 MainWindow 类中尝试过这个:
void MainWindow::keyPressEvent(QKeyEvent *event)
{
keys->keyPressEvent(event);
//Keys is a Keyboard object with this public method:
//void keyPressEvent(QKeyEvent *event);
}
但这也行不通。在我的 Keyboard::Keyboard() 构造函数中,我有:
this->setFocusPolicy(Qt::StrongFocus);
我不确定是否需要做任何其他事情来确保键盘输入到达那里。
如果有人知道为我的 Qt 应用程序将所有键盘事件发送到此类的方法,那将非常有帮助!
谢谢,
约翰