我正在使用 pyglet 编写心理物理学实验。我使用的电脑有两个显示器。它们被配置为两个独立的 Xscreen,0 和 1,分别对应于我的工作站监视器和实验屏幕。我想让 pyglet 绘制到实验屏幕(Xscreen 1)。
为了测试设置,我编写了一个显示一些文本标签的简单程序。当我运行程序时pyglet.window.Window(screen=workstation_screen)
,窗口出现在屏幕 0 上,并且文本按预期显示。
但是,当我运行程序时pyglet.window.Window(screen=experiment_screen)
,屏幕 1 上出现了窗口,但没有出现任何文本。
我对这种行为感到非常困惑,我做错了什么吗?这是 pyglet 中的一个已知错误吗?这是X的问题吗?任何建议将不胜感激。
细节:
Ubuntu 10.04.4 上的 Python 2.7.3 和 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()