2

Pythonのcurseモジュールでマウスクリックイベントを取得する方法を見つけようとしています。

http://docs.python.org/library/curses.htmlのドキュメントを読んだところ、

c == curses.getch()
if(c == curses.KEY_MOUSE):
    curses.getmouse()
    ...

ただし、この「ifステートメント」はトリガーされないようです...そしてgetmouse()関数を「ifステートメント」の外に移動してマウス情報を返すように強制しようとすると、

    (devid,x,y,z,bstate) = curses.getmouse()
_curses.error: getmouse() returned ERR

他に何か考えはありますか?

4

1 に答える 1

5

mousemask関数を使用してマウスイベントレポートを有効にし、その戻り値をチェックして、実際にいくつかのマウスイベントをレポートできることを確認しましたか?端末(または最近のエミュレータプログラム;-)によっては、マウスイベントの報告が全体的または部分的に可能である場合と不可能な場合があります。mousemaskいずれにせよ、呼び出しで明示的に有効にしない限り、cursesではデフォルトで無効になっています(Pythonだけでなく、cursesの一般的な考え方です;-) 。

于 2010-06-28T00:00:13.747 に答える