2

私は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()
4

1 に答える 1

0

Xorg.conf で Xinerama を有効にしてwindow.set_fullscreen(fullscreen=True,screen=experiment_screen)から、2 番目の画面のみでウィンドウを移動して全画面表示するように呼び出すことで回避策を見つけました。

ただし、Xinerama を有効にしないとテキストではなくウィンドウが表示される理由はまだわかりません。

于 2013-02-06T18:11:10.270 に答える