如果 QML 用于 GUI 和 Java 来为基于 Linux 的设备开发 API,如何将 QML 与 Java 连接?
跨平台集成的一种方法是使用 Web 服务。我可能会将我的 Java 代码公开为 RESTful Web 服务(请参阅JAX-RS)并使用 XMLHttpRequest 从 QML 调用它。
还值得一提的是 Java GUI 库,例如 swing / JavaFX 具有跨平台功能,因此它仍然应该在 Linux 上运行(以及运行 Java 的任何平台)。您可能根本不需要编写 QML
Java <--Jni--> C++ <-> QML
我们记录了 C++ 和 QML 之间的通信。对于 JNI 通信,您可能需要使用QJniObject。在最近的版本(6.8+)中,还有 QJniArray。 除了文档之外,在 Qt 源代码中搜索 QJniObject,您将找到有用的示例、测试和 Qt 源代码本身作为参考。