是否可以在 QML 和 C++ 中编写我的应用程序的前端并以某种方式编译它,以便我可以将它部署到像 Apache 或 JBoss 这样的 Web 服务器,以便可以从 Web 浏览器中访问它?
如果是,您是否有任何示例如何执行此操作?
非常感谢您的回答:)
我试图在互联网上找到我的问题的答案,但没有成功。
QmlWeb 是一个 JavaScript 库,能够解析 QML 代码并使用普通 HTML/DOM 元素和 CSS 中的绝对位置创建网站,将 QML 属性转换为 CSS 属性。
QmlWeb 是一个小项目,主要由 Lauri Paimen 发起,他开发了几年,现在是由 Anton Kreuzkamp 维护的 KDE 项目。
QmlWeb 当然还不支持 Qt 的 QML 实现所做的一切,但它已经支持它的一个非常有用的子集。它支持几乎所有最基本的 QML 语法。此外,它还支持 HTML 输入元素(目前支持 Button、TextInput、TextArea,未来还会支持更多)。
好吧,QmlWeb 还没有完成。我希望 Digia 能帮助这个项目,使其具备成熟的功能。
javascript 当前位于 v8 之上,但用于表达复杂绑定和一些(最好是小的)客户端逻辑。但是引擎可能会改变(http://blog.qt.digia.com/blog/2013/04/15/evolution-of-the-qml-engine-part-1/)。
就像在浏览器中一样,实际的图形有点与 javascript 正交,它只能与已经存在的图形对象交互(或实例化)。在浏览器中,图形由 html/css/svg/dom 描述,并由用 C++ 编写的 Web 引擎解释。在 QtQuick 中,图形是用 Qml 编写的,并由用 C++ 编写的 qml 引擎(场景图)解释。
两个栈完全不同。
Html 画布和 Qml 画布(它们几乎共享相同的 api)的例外。但这些是在即时模式下工作的图形(与 SVG 或 Qml 场景图相反,以保留模式方式工作)。
话虽如此...
有 3 次尝试将 Qml 移植到 Web:
您可能还对位于 Web 堆栈之上的其他场景图形技术(amino、cake.js、rapahel.js...)感兴趣。
最后但同样重要的是,您可能会对 Wt ( http://www.webtoolkit.eu/wt ) 感兴趣。
不可以。您不能编译 QML,并且不能以任何形式将其部署到 Java 应用程序服务器上,例如 JBoss。Qml 严格用于创建在本地机器上运行的应用程序。听起来您想用 .Net 之类的后端从 HTML 构建 Web 应用程序。