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

2024-04-25 16:46:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用pyglet写一个心理物理实验。我用的电脑有两个显示器。它们被配置为两个单独的xscreen,0和1,分别对应于我的工作站监视器和实验屏幕。我想让pyglet绘制到实验屏幕(Xscreen 1)。在

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

但是,当我用pyglet.window.Window(screen=experiment_screen)运行程序时,窗口出现在屏幕1上,但是没有文本出现。在

我被这种行为弄糊涂了,我做错什么了吗?这是pyglet中已知的bug吗?这是X的问题吗?任何建议都将不胜感激。在

详细信息:

在Ubuntu10.04.4上使用pyglet 1.1.4的Python2.7.3。在

代码:

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()

Tags: 文本程序get屏幕display物理windowwidth
1条回答
网友
1楼 · 发布于 2024-04-25 16:46:28

我找到了一个解决办法让XineramaXorg.conf公司然后调用window.set_fullscreen(fullscreen=True,screen=experiment_screen)来移动和全屏显示第二个屏幕上的窗口。在

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

相关问题 更多 >