Qt5 Widgets 应用程序密钥中的火柴盒键盘被卡住

问题描述

这是我的布局:

我有一个 .sh 脚本,可以像这样启动/关闭 matchbox-keyboard:

#!/bin/bash
PID=$(pidof matchbox-keyboard)
if [ ! -e $PID ]; then
killall matchbox-keyboard
else
matchbox-keyboard &
fi

当我在文本编辑控件中 focusInfocusOut 时,我在 Qt 中调用此脚本

bool Menu_TyresetName::eventFilter(QObject *obj,QEvent *event)
{
    if(event->type() == QEvent::FocusIn)
    {
        MatchboxKeyboard::ToggleMBKeyboard(true);
    }
    else if(event->type() == QEvent::FocusOut)
    {
        MatchboxKeyboard::ToggleMBKeyboard(false);
    }

    return QWidget::eventFilter(obj,event);
}

当我使用键盘上的任何键时一切正常......但是当我使用“返回”键时-->文本被接受,当我再次打开窗口时,键盘自动发送返回 .. 就像卡在一个循环中。

有人知道为什么会这样吗?或者遇到过类似的问题?

我的最终目标:当用户聚焦输入时,我会为他调用虚拟键盘。

编辑 1:我试图按照 @eyllanesc 的要求添加一个最小的可重现示例,为此我创建了一个新项目,由于某些原因,键盘在新项目中正常工作。

我会尝试清理我的主项目,看看是否还有其他问题。如果问题仍然存在,我会回来。在此之前,请随时关闭此问题。

感谢您的回答。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)