Yocto 中的虚拟键盘顶部黑屏

Virtual keyboard top black screen in Yocto

我正在使用在 Yocto Sumo 中开发的 VAR-SOM-MX7 开发设备。 我设法将虚拟键盘添加到我的 QApplication 中,但是当键盘出现时,它与应用程序重叠。 textEdit 字段仍然从虚拟键盘获取输入,但在键入时无法显示 textEdit 字段。

我尝试过:

qputenv("QMLSCENE_DEVICE", QByteArray("softwarecontext"))
CONFIG += disable-desktop

在 qml 中我改变了键盘布局:

keyboardBackground: Rectangle {
   color: "transparent"
}

但我的应用程序顶部仍然出现黑屏。

经过长时间的尝试,我终于找到了解决这个问题的方法。 虚拟键盘是使用另一个 QQuickWindow 创建的,这个 window 与我的 QWidget 应用程序重叠 window。 我只需要找到 vk window,并使用 QWindow setMask 函数来屏蔽黑色区域。

希望这也能帮助其他人,因为我在网上找不到任何其他解决方案。