python - 在 python 的控制台窗口上按下鼠标

标签 python console window cmd

有没有某种方法可以让鼠标在 python 的控制台窗口上按下?我知道你可以这样做,因为如果你运行的是 Windows,你可以打开 cmd 并键入“edit”。例如,你会如何在 python 中执行此操作?谢谢。

最佳答案

我个人不喜欢上一个答案中的 PyWin32,因为它仅在第一次导入时有效,之后无法导入它的主要 pyd 模块。
还有一个事实是它不是跨平台的。

curses 是一个更好的选择,虽然它对 python27 并不完全友好,但我已经设法让它在 Wine 中工作:

import _curses # _curses.pyd supplied locally for python27 win32
import curses 

screen = curses.initscr() 
#curses.noecho() 
curses.curs_set(0) 
screen.keypad(1) 
curses.mousemask(curses.ALL_MOUSE_EVENTS)

screen.addstr("This is a Sample Curses Script\n\n") 

key=0
while key!=27: # Esc to close
    key = screen.getch() 
    #screen.erase()
    if key == curses.KEY_MOUSE:
        _, mx, my, _, _ = curses.getmouse()
        y, x = screen.getyx()
        screen.addstr('mx, my = %i,%i                \r'%(mx,my))
    screen.refresh()

curses.endwin()

在此示例中,您需要单击、拖动和释放才能注册事件,但我认为有一种解决方法。

我只是自己玩这个(我不想让 PyQt 或 PyGLFW 变得复杂)

编辑:
设法让它按预期工作并更新了代码。 您无需再拖动即可注册该事件。

关于python - 在 python 的控制台窗口上按下鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8677627/

相关文章:

python - Python OpenGL、PyQt 和 Legacy OpenGL 兼容性出了什么问题?

python - 在 type() 中添加方法在 python 中生成对象

windows - Visual Studio 构建后 : keep console open?

c++:owlnext + vcl:新窗口缺少其父窗口

javascript - window.open(url, windowname, opts) 在新标签页中打开,而不是在 Firefox 中打开新窗口

python - 在 Windows 中处理 unicode 字符串

python - 获取 3 列中条件为 true 时的索引号

Python functools.lru_cache 驱逐回调或等效

javascript - 数组显示其长度为 0 但控制台显示否则

iphone - Cocos2d 调试器控制台显示了很多东西