QML ComboBox 在嵌入式系统上崩溃

QML ComboBox crashes on embedded System

我在我的程序中添加了一个ComoboBox到我的qml。 这在桌面上运行良好(Ubuntu 和 Win7)。一旦我在我的嵌入式 linux 机器(带有 yocto 的 sabrelight)上部署我的程序,当我尝试从 ComboBox 打开项目列表时它就会崩溃。

有人遇到过类似的行为吗?知道为什么会这样吗?

这是因为 Qt Quick Controls 1 中的 ComboBox 为弹出窗口创建了顶级 window。嵌入式 Linux.

上的 EGLFS 不支持创建多个顶级 windows

您可能想尝试一下 Qt 5.7 中引入的 Qt Quick Controls 2。通过提供基于项目的弹出窗口和数量级更好的性能,它是嵌入式和移动友好的。

您可以阅读有关历史的更多信息here. In particular, this post 重点介绍了 Qt Quick Controls 2 中的基本结构变化。