在网上运行一个Qt应用程序

我正在编写一个使用Qt的应用程序,并试图将其部署为一个Web应用程序。 我希望用户能够通过Web浏览器访问我的应用程序。 我猜这是一个networking应用程序是什么? 我有什么样的select? 我从来没有想过做这样的事情,但我想学习新的东西。

编辑:如果我将我的应用程序部署在Linux服务器上,并让用户通过terminal访问/运行,该怎么办? 我认为写Web应用程序将比我原先想象的更复杂。

Solutions Collecting From Web of "在网上运行一个Qt应用程序"

如果你只有一个Qt应用程序,那么你可以做的最好的就是使用Qt 5并使用vnc平台插件来运行它。 然后使用基于Web浏览器的vnc客户端连接 。 对于很多用途来说,这可能就足够了,当然比编写Web应用程序要少得多。

你正在寻找Wt,它提供了一个不同的集合,如果为许多Qt GUI元素绘制例程,将它们从屏幕上的行转换为HTML控件。

http://www.webtoolkit.eu/wt

它也处理websocket调用来提供交互性。 这似乎是一个好主意,让我们知道它是如何工作的。

对于QML的情况, QmlWeb是一个JavaScript库,它能够解析QML代码,并使用普通的HTML / DOM元素和CSS内的绝对位置创建一个网站,将QML属性转换为CSS属性。

QmlWeb是Lauri Paimen的一个小型项目,他已经开发了几年了。 QmlWeb当然还不支持Qt的QML实现,但它已经支持一个相当有用的子集。 它几乎支持所有最基本的QML语法。 此外,它支持HTML输入元素(Button,TextInput,TextArea目前支持,更多)。

那么,QmlWeb还没有完成。 我希望Digia能够帮助这个项目做好成熟的功能。

有趣的是,使用emscripten-qt可以将Qt应用程序编译为JavaScript。 Firefox的asm.js解释器运行速度相当快:

http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-qt/wiki

Qt不支持编写基于浏览器的Web应用程序。 不幸。

您需要使用常见的Web编程技术。 有很多方法,但Qt不是其中之一。