是否有通过网络运行Qt信号/插槽的想法?

时间:2009-09-07 10:16:36

标签: user-interface qt networking proxy

我们将在几台PC上运行远程GUI,所有这些都与运行主应用程序的中央服务器进行通信。我希望不是黑客攻击我们自己的手动网络协议和编组层按钮和各种事件,我希望能以某种方式更巧妙地解决这个问题。

实际上,如果您可以为这些Qt对象自动生成网络代理,或以某种方式连接RPC接口上的信号/插槽,或者类似的东西,那就太好了。

  • 编写基于Qt .ui文件的代码生成器应该是可行的,但也许其他人之前尝试过这种方法(有没有成功)?

  • 另一个想法是在python中使用PyQt和一些机制来处理网络代理对象。

  • 失败的Qt特定内容,一般如何解决远程GUI?

(使用Web服务器/客户端不行,因为我们需要我们的Qt样式,并且可能是一个更快速的GUI和更多花哨的小部件。)

3 个答案:

答案 0 :(得分:9)

Qt的Qxt扩展程序库有一个QxtRPCPeer

  

QxtRPCPeer是一个封装的工具   Qt发信号并通过a传输它们   网络连接。信号是   随后重新发射了   接收连接结束。

最后修改(相关OP的评论于2011年2月26日16:23发布在下方):

1.5年后的更新。我们已经在我们的生产软件中使用QxtRPCPeer一年了。没有任何故障。

上次修改(按2015年5月22日的OP):

从0.6.2开始不再维护LibQxt,因为跟上内部API的变化对作者来说太过分了。某些部件可能仍然可用,但您必须自己维护它。

答案 1 :(得分:1)

在谷歌搜索“远程GUI Qt”时,我遇到了名为Vedga的this项目。它基于Qt,简要介绍了它的作用:

  

Vedga是一个开发工具包   网络GUI应用程序。它允许   开发人员只使用编写代码   Qt的编程风格   服务器端而忘记了   客户方。

值得一看。如果您查看它并发布您对它的观察结果以供将来参考,那将是很好的。

答案 2 :(得分:0)

我不会用编写代码来解决这个问题。我会使用已经存在的工具。

这是针对Windows的RDP(终端服务),或者对于任何其他操作系统而言,只是X(由于内置网络支持而无关紧要)。