在任何输入为Qt 5.15的Android上,软键盘都不可见

问题描述

我们从5.12.9迁移到5.15.2,现在我们的任何输入或文本字段在活动焦点上都看不到软的Android键盘(不会弹出)。是错误QTBUG-88069)还是存在一些解决方法

遵循Stackoverflow solutionsetting/clearing window flags对我不起作用。

解决方法

所以问题很明显,因为以下几行:

#ifdef Q_OS_LINUX
    qputenv("QT_IM_MODULE",QByteArray("qtvirtualkeyboard"));
#endif

改为

#if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
    qputenv("QT_IM_MODULE",QByteArray("qtvirtualkeyboard"));
#endif

在 Android 上,两个常量都被定义为:Q_OS_LINUXQ_OS_ANDROID。瞧:Android 键盘可以工作了! :)