2013-01-22 23 views
5

我有一个Qt应用程序(在Linux上运行)应该在远程计算机上运行的另一台X服务器上打开一个额外的窗口。单个Qt应用程序可以在多个X显示器上打开窗口吗?

有没有办法在Qt中做到这一点?

我希望避免更复杂的设置,例如 - DMX(上的多个其它的X服务器顶部虚拟的X-server)http://dmx.sourceforge.net/,或 - 创建的额外窗口的第二应用,加之间的一些类型的通信这两个应用程序

+0

程序中只能有一个'QApplication'对象,只有一个'QApplication'只与一个'Display'对话。这是一个基本限制。所以不,你不能在Qt中这样做。 –

+0

谢谢,中午。这是我想知道的。起初我没有看到您的答案,因为您将它添加为评论而不是答案。我想我无法避免创建第二个应用程序。 – ygramoel

回答

1

您可以尝试产生一个新进程,并将其DISPLAY环境变量设置为另一个X服务器。

尝试首先从庆典做它,看它是否正常工作,因为我不能完全肯定:

export DISPLAY=:0.0 
./my_qt_application 

与其它X服务器更换:0.0

+0

有效,但并没有真正解决问题:我仍然会为这两个显示器分开处理,并且需要实现它们之间的通信。 – ygramoel

+0

是的,我看到了您的其他答案,但需要一些时间阅读QX11EmbedWidget的文档。 – ygramoel

+0

你说得对,我把它删除了。那么,使用其他流程将是您最好的选择。你可以尝试直接使用Xlib,但我怀疑它会起作用,并且这不会很容易。我不认为这里有一个简单的解决方案。 – sashoalm

相关问题