不确定这是否适合 Stack 的问题,但我有一个在 QT(KDE System Guard)中运行的应用程序。我希望它与我的许多其他监控系统聚合到一个浏览器窗口中。我知道通常我会为以下内容扔掉一个 iFrame:
<iframe src="http://pathToMyNetworkMonitors.com"></iframe>
但是由于 QT 在它自己的浏览器中运行,我不确定我是否可以做到这一点。我想知道是否有人尝试过这个或其他一些解决方法。谢谢。
不确定这是否适合 Stack 的问题,但我有一个在 QT(KDE System Guard)中运行的应用程序。我希望它与我的许多其他监控系统聚合到一个浏览器窗口中。我知道通常我会为以下内容扔掉一个 iFrame:
<iframe src="http://pathToMyNetworkMonitors.com"></iframe>
但是由于 QT 在它自己的浏览器中运行,我不确定我是否可以做到这一点。我想知道是否有人尝试过这个或其他一些解决方法。谢谢。
Qt 应用程序不会“在浏览器中”运行,它和其他任何应用程序一样都是本机应用程序。它(通常)没有网络服务器,也没有(通常)与网络服务器集成的方法,因此它的输出不是网络浏览器可以访问的。
您可能会感到困惑,因为某些 Qt 应用程序使用 Webkit (qtwebkit) 将网页作为其 ui 的一部分呈现,但并非所有 Qt 应用程序都是如此。
有 emscripten-qt 项目,它将 Qt 工具包移植到 emscripten,允许编译许多 Qt 应用程序以在浏览器中运行。但是,我怀疑 ksysguard 是否可以完全发挥作用。
你可以去寻找有问题的 Qt 应用程序的源代码,然后用另一个渠道重建它以获取信息。例如,去添加一个 QUdpServer...
http://qt-project.org/doc/qt-4.8/qudpsocket.html#details
http://qt-project.org/doc/qt-4.8/network-broadcastsender.html
让这个 UdpServer 发布您想要查看的信息,并针对您的网页进行格式化。最初,您可能只是让它打印当前统计信息,或最后一分钟统计信息的历史记录。稍后您可以使用 Html 5 Canvas 或其他工具生成绘图。
确保端口和 IP 地址在您希望能够访问的计算机上可见。
现在,您可以在远程浏览器中看到您的系统监控。
一旦你完成了所有这些,一定要为 KDE 社区发布你的编辑。
希望有帮助。