私はpygletを使って心理物理学の実験を書いています。私が使用しているコンピューターには、2 つのディスプレイが接続されています。これらは、それぞれ私のワークステーション モニターと実験画面に対応する 0 と 1 の 2 つの別個の Xscreen として構成されています。実験画面(Xscreen 1)にpygletで描画してもらいたいです。
セットアップをテストするために、いくつかのテキスト ラベルを表示する簡単なプログラムを作成しました。ウィンドウでプログラムを実行するとpyglet.window.Window(screen=workstation_screen)
、画面0に表示され、テキストが期待どおりに表示されます。
ただし、ウィンドウでプログラムを実行するとpyglet.window.Window(screen=experiment_screen)
、画面1に表示されますが、テキストは表示されません。
私はこの振る舞いに非常に混乱しています。何か間違ったことをしていますか? これはpygletの既知のバグですか? これはXの問題ですか?アドバイスをいただければ幸いです。
詳細:
Ubuntu 10.04.4 上の pyglet 1.1.4 を使用した Python 2.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()