只是一个一般性问题:是否可以在Qt应用程序中显示带有图表,下拉菜单和其他元素的Shiny生成的html页面并与之交互?我已经浏览了QtWebKit和WebView的一些文档和视频,虽然提到了基本的html显示,但我只是想知道更多涉及的用途。
我在VPS上的R代码已经以html显示Shiny应用程序,并且可以通过直接URL访问。
这取决于你所说的"互动"是什么意思:谁进行互动?
-
人类用户直接与页面交互 - 这是简单的情况。使用 Web 视图。
Qt捆绑了一个完整的Chromium网络引擎。Chrome可以做的任何事情,Qt的网络视图也可以。只要您的页面在Chrome版本中运行,该版本使用与Qt相同的Chromium版本,那么在Qt的Web视图中
就可以了。 -
您的代码与页面交互 - 这涉及更多。您必须添加一个在 websocket 之上工作的远程控制通道才能与页面交互。它可以像Qt应用程序发送javascript在页面上执行一样简单,并接收回json序列化的结果。这以最低的实现成本(几十行javascript和C++(为您提供了最大的功能。