admin 管理员组

文章数量: 887016

文章目录

  • 一、用法
    • 1. 启动程序
    • 2. 浏览器中输入
    • 3. 效果
  • 二、缺点
  • 三、特性
  • 四、概念
    • 适用场景
      • 1. 低端的嵌入式设备上或没有显示功能
      • 2. 设备”实际上是一个非常强大的服务器,您可以在常规电脑上的Web浏览器中使用GUI时在服务器上执行一些繁重的计算
      • 3. 反盗版措施。假设您希望保护您的软件不被“破解”或“盗版”。显然,如果客户端上没有运行,那么没有什么可以破解,因为您的用户只在其浏览器中呈现GUI,并且应用程序本身正在您的服务器上运行。

一、用法

1. 启动程序

$ ./your-qt-quick-application -platform webgl:port=8998

其中端口自己定义
或者
使用一种跨平台的方式(讲究)来实现,在main.cpp中使用qputenv()方法

// ...
qputenv("QT_QPA_PLATFORM", "webgl:port=8998"); 
QGuiApplication app(argc, argv);

2. 浏览器中输入

127.0.0.1:8998

其中127.0.0.1 是your-qt-quick-application运行的主机地址,如果是本机,可以用127.0.0.1来代替

3. 效果

二、缺点

  • 虽然WebGL steaming在本地网络中表现良好,但通过互联网使用它会导致显著的延迟; 即只适用于本地网络
  • 连接未加密,因此不安全;
  • 目前,一次只支持一个连接(也就是说只有一个用户),浏览器中一个page打开就相当于一个用户了

三、特性

  • 应用程序本身不在 Web浏览器中运行。Web浏览器仅渲染其GUI;
  • 它既不是视频流,也不是镜像。它是在Web浏览器中显示的“解耦”的应用程序的GUI;
  • 由于它仅适用于OpenGL(ES),因此WebGL流不适用于Widgets或任何其他非OpenGL内容。
  • WebGL streaming 的“零安装”概念 —— 您不必在客户端(台式机/平板电脑/智能手机/等)上安装/部署任何东西,因为唯一需要的只是一个Web浏览器

四、概念

WebGL steaming是一个QPA插件,它通过网络发送Qt Quick应用程序的OpenGL调用(“流式”),然后将这些调用转换为WebGL格式的调用,从而可以在HTML5 Canvas中渲染。这就让您可以在远程主机上运行应用程序,并在本地Web浏览器中呈现其GUI。

适用场景

1. 低端的嵌入式设备上或没有显示功能

2. 设备”实际上是一个非常强大的服务器,您可以在常规电脑上的Web浏览器中使用GUI时在服务器上执行一些繁重的计算

3. 反盗版措施。假设您希望保护您的软件不被“破解”或“盗版”。显然,如果客户端上没有运行,那么没有什么可以破解,因为您的用户只在其浏览器中呈现GUI,并且应用程序本身正在您的服务器上运行。

本文标签: 浏览器 程序 quick QT QtQuick