在Ubuntu Linux上,无法在Qt5以外的其他屏幕上打开Qt窗口

时间:2014-07-08 17:37:00

标签: qt qt5 multiscreen

我将Qt 4.8.x程序移植到Qt 5.3。当我的Ubuntu 12.04 X11服务器使用Nvidia硬件运行Xinerama模式时,它在Qt 4.8下工作正常。

我之前使用过QtDesktopWidget来检索多个屏幕及其几何图形(我有五个连接的显示)。在Xinerama模式下的Qt 5.3下,QDesktopWidget :: screenCount()只返回1个屏幕,这是所有五个屏幕的联合。在Qt 4.8下,它将正确地返回5个具有正确几何形状的屏幕。

我接下来尝试使用Qt 5.3禁用Xinerama来运行我的X服务器。现在,我可以使用QDesktopWidget和QApplication正确获取正确的screenCount:screens()返回一个正确的Screen *我可以访问的列表。

但是,每当我尝试在其中一个屏幕中打开一个窗口时,使用QWindow :: setScreen,无论我在QWindow的构造函数中设置哪个屏幕或使用QWindow ::我都会在主屏幕中打开窗口。 setScreen。

当我尝试使用X11参数在另一个屏幕上打开我的Qt应用程序时,例如: myapp --display:0.2,这很好用。

但是,我需要以编程方式执行此操作,因为每个显示器都有不同的内容。 有没有人在有或没有打开Xinerama模式的情况下用Qt5打开其他屏幕的窗口?我不想在QDesktopWidget上使用Xinerama似乎只是建立在libxcb上。

此致 维克多

0 个答案:

没有答案