问题描述
这是我的布局:
我有一个 .sh 脚本,可以像这样启动/关闭 matchbox-keyboard:
#!/bin/bash
PID=$(pidof matchbox-keyboard)
if [ ! -e $PID ]; then
killall matchbox-keyboard
else
matchbox-keyboard &
fi
当我在文本编辑控件中 focusIn 和 focusOut 时,我在 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 (将#修改为@)