pyglet无法在第二个显示器上绘制到窗口

时间:2013-02-06 15:42:41

标签: python x11 pyglet

我正在使用pyglet编写心理物理学实验。我使用的计算机附有两个显示器。它们被配置为两个独立的X屏,0和1,分别对应于我的工作站监视器和实验屏幕。我想将pyglet绘制到实验屏幕(Xscreen 1)。

为了测试设置,我编写了一个显示一些文本标签的简单程序。当我用pyglet.window.Window(screen=workstation_screen)运行程序时,窗口出现在屏幕0上,文本按预期显示。

但是,当我使用pyglet.window.Window(screen=experiment_screen)运行程序时,屏幕上会出现窗口,但不显示任何文字。

我对这种行为感到很困惑,我做错了什么?这是pyglet中的已知错误吗?这是X的问题吗?任何建议都将不胜感激。

详细说明:

Python 2.7.3,在Ubuntu 10.04.4上使用pyglet 1.1.4。

代码:

import pyglet

display = pyglet.window.get_platform().get_default_display()
screens = display.get_screens()

# When I replace 'screens[0]' with 'screens[1]' the aforementioned problem occurs.
window = pyglet.window.Window(screen=screens[0])

label = pyglet.text.Label('draw test',x=window.width/2.0,y=window.width/2.0)

@window.event
def on_draw():
    window.clear()
    label.draw()

pyglet.app.run()

1 个答案:

答案 0 :(得分:0)

我通过在Xorg.conf中启用Xinerama,然后调用window.set_fullscreen(fullscreen=True,screen=experiment_screen)来仅在第二个屏幕上移动并全屏显示窗口,找到了解决方法。

但是,我仍然不确定为什么窗口会出现而不是没有启用Xinerama的文本。