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函数启用了鼠标事件报告,并检查了它的返回值以确保它确认它确实可以报告一些鼠标事件?取决于终端(或模拟器程序,这些天;-),鼠标事件报告可能会或可能不会,全部或部分;在任何情况下,默认情况下它在 curses 中被禁用(不仅仅是在 Python 上,这是一个 curses 的一般想法;-)除非并且直到您通过mousemask调用明确启用它。

于 2010-06-28T00:00:13.747 回答