C++ 将父对象传递给类时,Qt keyPressEvent停止工作

C++ 将父对象传递给类时,Qt keyPressEvent停止工作,c++,qt,C++,Qt,我正在编写一个键盘测试仪,因此我开始与 keybDialog keyboardTestWindow; keyboardTestWindow.setWindowTitle("Keyboard test"); keyboardTestWindow.exec(); 覆盖按键事件(QKeyEvent*事件),测试工作正常。现在,我需要使用来自父级的一些参数,所以我做了 keybDialog keyboardTestWindow(m_parent); keyboardTestWindow.setWind

我正在编写一个键盘测试仪,因此我开始与

keybDialog keyboardTestWindow;
keyboardTestWindow.setWindowTitle("Keyboard test");
keyboardTestWindow.exec();
覆盖
按键事件(QKeyEvent*事件)
,测试工作正常。现在,我需要使用来自父级的一些参数,所以我做了

keybDialog keyboardTestWindow(m_parent);
keyboardTestWindow.setWindowTitle("Keyboard test");
keyboardTestWindow.exec();
实现了我所需要的。现在我发现,只要实例化类并将父类传递给它,我的对话框就不再接收
keyPressEvent
。是否以某种方式将这些信息传递给
m_parent
?我怎样才能避免这种情况

编辑: 我的
按键事件的开始部分

void keybDialog::keyPressEvent(QKeyEvent *event)
{
ui->txtBxKeyboardInput->clear();
qDebug() << "Event: " << hex << event->key() << event->nativeVirtualKey() << event->modifiers() << event->nativeModifiers() << event->nativeScanCode();
ui->txtBxKeyboardInput->setText(ui->txtBxKeyboardInput->text()+event->text());

switch(sequenceNumber)
{
case 0: // Left Shift + R
    if( (event->key() == Qt::Key_R) && event->modifiers() == Qt::ShiftModifier && event->nativeModifiers() == 0x201)
    {
        reportSuccessfullKey(sequenceNumber);
    }
    else
    {
        ui->lblStatus->setText("WRONG");
    }
break;
void keybDialog::keyPressEvent(QKeyEvent*event)
{
ui->txtBxKeyboardInput->clear();
qDebug()setText(ui->txtBxKeyboardInput->text()+事件->文本());
开关(序列号)
{
案例0://左移+R
if((事件->键()==Qt::键)&&event->modifiers()==Qt::ShiftModifier&&event->nativeModifiers()==0x201)
{
reportSuccessfullKey(序列号);
}
其他的
{
ui->lblStatus->setText(“错误”);
}
打破

您正在拦截什么类型的按键事件(按键与释放、按键代码)?对话框是否为模态?@Frankosterfield我添加了一些信息。我猜是模态的?