我正在使用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()
答案 0 :(得分:0)
我通过在Xorg.conf中启用Xinerama,然后调用window.set_fullscreen(fullscreen=True,screen=experiment_screen)
来仅在第二个屏幕上移动并全屏显示窗口,找到了解决方法。
但是,我仍然不确定为什么窗口会出现而不是没有启用Xinerama的文本。