python curses `window.getch()` 方法的 `y` 和 `x` 参数是什么?

问题描述 投票:0回答:1

我可能遗漏了一些非常明显的东西,但是 我对 Python 文档

中描述的
[y, x]
方法
的可选window.getch( [y, x] )参数感到困惑。这些可选参数有什么用,如果我将它们包含在我的调用中,它们会做什么?

据我所知,文档没有提到这些参数的用途。它只是说:

获得一个角色。注意返回的整数不必在ASCII范围内:功能键、键盘按键等用大于255的数字表示。在无延迟模式下,如果没有输入则返回-1,否则等到一个键被按下。

window.get_wch( [y, x] )
window.getkey( [y, x] )
方法似乎具有类似的未描述的可选
[y, x]
参数。

python coordinates curses coordinate-systems python-curses
1个回答
0
投票

https://docs.python.org/3/howto/curses.html#windows-and-pads

注意 curses 中使用的坐标系是不寻常的。坐标始终按 y,x 的顺序传递,窗口的左上角坐标为 (0,0)。这打破了处理 x 坐标在前的坐标的常规约定。不幸的是,这是与大多数其他计算机应用程序的不同之处,但自从它首次编写以来,它一直是 curses 的一部分,现在改变一切为时已晚。

您的应用程序可以通过使用 curses.LINES 和 curses.COLS 变量获取 y 和 x 大小来确定屏幕大小。合法坐标将从 (0,0) 扩展到 (curses.LINES - 1, curses.COLS - 1)。

https://docs.python.org/3/library/curses.html

注意:只要函数或方法的 x 或 y 参数是可选的,它们默认为当前光标位置。只要 attr 是可选的,它默认为 A_NORMAL。

https://docs.python.org/3/library/curses.html#curses.getsyx

以元组(y,x)的形式返回虚拟屏幕光标的当前坐标。如果 leaveok 当前为 True,则返回 (-1, -1)。

https://docs.python.org/3/library/curses.html#curses.window.addch

使用属性 attr 在 (y, x) 处绘制字符 ch,覆盖之前在该位置绘制的任何字符。默认情况下,字符位置和属性是窗口对象的当前设置。

https://docs.python.org/3/howto/curses.html#displaying-text

移动到窗口内的位置 y,x

Windows 会记住上次操作后光标所在的位置,因此如果您省略 y、x 坐标,则字符串或字符将显示在上次操作停止的位置。您还可以使用 move(y,x) 方法移动光标。

© www.soinside.com 2019 - 2024. All rights reserved.