mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
4 lines
171 KiB
HTML
4 lines
171 KiB
HTML
<div class="body" role="main"><div class="section" id="module-curses"><h1><span class="yiyi-st" id="yiyi-10">16.10. <a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a> - 字符单元显示的终端处理</span></h1><p><span class="yiyi-st" id="yiyi-11"><a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a>模块为curses库提供了一个接口,这是便携式高级终端处理的事实标准。</span></p><p><span class="yiyi-st" id="yiyi-12">而curses最广泛应用在 Unix 环境中,版本以供 Windows、 DOS以及其他系统。</span><span class="yiyi-st" id="yiyi-13">此扩展模块用于匹配的 ncurses API,开源 curses 库托管在 Linux 和 BSD Unix 变种。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-14">注意</span></p><p><span class="yiyi-st" id="yiyi-15">从版本5.4开始,ncurses库决定如何使用<code class="docutils literal"><span class="pre">nl_langinfo</span></code>函数解释非ASCII数据。</span><span class="yiyi-st" id="yiyi-16">这意味着您必须在应用程序中调用<a class="reference internal" href="locale.html#locale.setlocale" title="locale.setlocale"><code class="xref py py-func docutils literal"><span class="pre">locale.setlocale()</span></code></a>,并使用系统的可用编码之一编码Unicode字符串。</span><span class="yiyi-st" id="yiyi-17">本例使用系统的默认编码:</span></p><pre><code class="language-python"><span></span><span class="kn">import</span> <span class="nn">locale</span>
|
||
<span class="n">locale</span><span class="o">.</span><span class="n">setlocale</span><span class="p">(</span><span class="n">locale</span><span class="o">.</span><span class="n">LC_ALL</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span>
|
||
<span class="n">code</span> <span class="o">=</span> <span class="n">locale</span><span class="o">.</span><span class="n">getpreferredencoding</span><span class="p">()</span>
|
||
</code></pre><p class="last"><span class="yiyi-st" id="yiyi-18">然后使用<em>code</em>作为<a class="reference internal" href="stdtypes.html#str.encode" title="str.encode"><code class="xref py py-meth docutils literal"><span class="pre">str.encode()</span></code></a>调用的编码。</span></p></div><div class="admonition seealso"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-19">也可以看看</span></p><dl class="docutils"><dt><span class="yiyi-st" id="yiyi-20">模块<a class="reference internal" href="curses.ascii.html#module-curses.ascii" title="curses.ascii: Constants and set-membership functions for ASCII characters."><code class="xref py py-mod docutils literal"><span class="pre">curses.ascii</span></code></a></span></dt><dd><span class="yiyi-st" id="yiyi-21">与ASCII字符一起工作的实用程序,无论您的区域设置如何。</span></dd><dt><span class="yiyi-st" id="yiyi-22">模块<a class="reference internal" href="curses.panel.html#module-curses.panel" title="curses.panel: A panel stack extension that adds depth to curses windows."><code class="xref py py-mod docutils literal"><span class="pre">curses.panel</span></code></a></span></dt><dd><span class="yiyi-st" id="yiyi-23">面板堆栈扩展,为curses窗口添加深度。</span></dd><dt><span class="yiyi-st" id="yiyi-24">模块<a class="reference internal" href="#module-curses.textpad" title="curses.textpad: Emacs-like input editing in a curses window."><code class="xref py py-mod docutils literal"><span class="pre">curses.textpad</span></code></a></span></dt><dd><span class="yiyi-st" id="yiyi-25">支持<strong class="program">Emacs</strong>式绑定的curses的可编辑文本小部件。</span></dd><dt><span class="yiyi-st" id="yiyi-26"><a class="reference internal" href="../howto/curses.html#curses-howto"><span>Curses Programming with Python</span></a></span></dt><dd><span class="yiyi-st" id="yiyi-27">由Andrew Kuchling和Eric Raymond撰写的关于使用curses与Python的教程材料。</span></dd></dl><p class="last"><span class="yiyi-st" id="yiyi-28">Python源代码发行版中的<a class="reference external" href="https://hg.python.org/cpython/file/3.5/Tools/demo/">Tools / demo /</a>目录包含一些使用此模块提供的curses绑定的示例程序。</span></p></div><div class="section" id="functions"><h2><span class="yiyi-st" id="yiyi-29">16.10.1. </span><span class="yiyi-st" id="yiyi-30">函数</span></h2><p><span class="yiyi-st" id="yiyi-31">这个模块 <a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a> 定义了一下异常。</span></p><dl class="exception"><dt id="curses.error"><span class="yiyi-st" id="yiyi-32"> <em class="property">exception </em><code class="descclassname">curses.</code><code class="descname">error</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-33">curses 库函数将返回错误时引发的异常。</span></p></dd></dl><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-34">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-35">当一个函数方法或者参数 <em>x</em> 或<em>y</em> 是可选的时候,它们就默认为当前的光标位置。</span><span class="yiyi-st" id="yiyi-36">当 <em>attr</em>是可选的,它默认为 <code class="xref py py-const docutils literal"><span class="pre">A_NORMAL</span></code>.</span></p></div><p><span class="yiyi-st" id="yiyi-37">模块<a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a>定义了一下函数:</span></p><dl class="function"><dt id="curses.baudrate"><span class="yiyi-st" id="yiyi-38"> <code class="descclassname">curses.</code><code class="descname">baudrate</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-39">以每秒位数返回终端的输出速度。</span><span class="yiyi-st" id="yiyi-40">在软件的终端仿真器上它将有一个固定的高值。</span><span class="yiyi-st" id="yiyi-41">包括由于历史的原因;在前时期,它用于编写时间延迟的输出循环,偶尔更改接口线路速度。</span></p></dd></dl><dl class="function"><dt id="curses.beep"><span class="yiyi-st" id="yiyi-42"> <code class="descclassname">curses.</code><code class="descname">beep</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-43">发出短注意的声音。</span></p></dd></dl><dl class="function"><dt id="curses.can_change_color"><span class="yiyi-st" id="yiyi-44"> <code class="descclassname">curses.</code><code class="descname">can_change_color</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-45">返回 <code class="docutils literal"><span class="pre">True</span></code> 或者 <code class="docutils literal"><span class="pre">False</span></code>, 具体取决于是否程序员可以更改显示的颜色由终端。</span></p></dd></dl><dl class="function"><dt id="curses.cbreak"><span class="yiyi-st" id="yiyi-46"> <code class="descclassname">curses.</code><code class="descname">cbreak</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-47">进入 cbreak 模式。</span><span class="yiyi-st" id="yiyi-48">在 cbreak 模式 (有时称为"rare"模式) 正常 tty 线缓冲关闭和字符都是可供读取一个接一个。</span><span class="yiyi-st" id="yiyi-49">然而,不同于raw模式,特殊字符 (中断、 退出、 暂停和流控制) 保留他们对 tty 驱动程序和调用程序的影响。</span><span class="yiyi-st" id="yiyi-50">调用<a class="reference internal" href="#curses.raw" title="curses.raw"><code class="xref py py-func docutils literal"><span class="pre">raw()</span></code></a> 然后 <a class="reference internal" href="#curses.cbreak" title="curses.cbreak"><code class="xref py py-func docutils literal"><span class="pre">cbreak()</span></code></a>离开终端进入cbreak模式。</span></p></dd></dl><dl class="function"><dt id="curses.color_content"><span class="yiyi-st" id="yiyi-51"> <code class="descclassname">curses.</code><code class="descname">color_content</code><span class="sig-paren">(</span><em>color_number</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-52">返回一组红绿蓝RGB的颜色强度分量<em>color_number</em>,其值要介于 <code class="docutils literal"><span class="pre">0</span></code> 和 <code class="xref py py-const docutils literal"><span class="pre">COLORS</span></code>.</span><span class="yiyi-st" id="yiyi-53">返回一个 3 元组,则包含 R、 G、 B 值的给定的颜色, 其值在 <code class="docutils literal"><span class="pre">0</span></code> (no component) 和 <code class="docutils literal"><span class="pre">1000</span></code> (maximum amount of component).</span></p></dd></dl><dl class="function"><dt id="curses.color_pair"><span class="yiyi-st" id="yiyi-54"> <code class="descclassname">curses.</code><code class="descname">color_pair</code><span class="sig-paren">(</span><em>color_number</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-55">返回在指定的颜色显示文本的属性值。</span><span class="yiyi-st" id="yiyi-56">此属性可以跟 <code class="xref py py-const docutils literal"><span class="pre">A_STANDOUT</span></code>, <code class="xref py py-const docutils literal"><span class="pre">A_REVERSE</span></code>, 和其他<code class="xref py py-const docutils literal"><span class="pre">A_*</span></code> 组合.</span><span class="yiyi-st" id="yiyi-57"><a class="reference internal" href="#curses.pair_number" title="curses.pair_number"><code class="xref py py-func docutils literal"><span class="pre">pair_number()</span></code></a> 是此函数的对应。</span></p></dd></dl><dl class="function"><dt id="curses.curs_set"><span class="yiyi-st" id="yiyi-58"> <code class="descclassname">curses.</code><code class="descname">curs_set</code><span class="sig-paren">(</span><em>visibility</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-59">设置光标的状态。</span><span class="yiyi-st" id="yiyi-60"><em>visibility(可见性)</em> 可以设置为 0, 1, or 2, 对应为不可见,普通的, 或者非常明显.</span><span class="yiyi-st" id="yiyi-61">如果终端支持的可见性要求,则返回以前的游标状态;否则,则引发异常。</span><span class="yiyi-st" id="yiyi-62">许多终端,"可见"模式是下划线光标和"非常明显"模式是一个块游标。</span></p></dd></dl><dl class="function"><dt id="curses.def_prog_mode"><span class="yiyi-st" id="yiyi-63"> <code class="descclassname">curses.</code><code class="descname">def_prog_mode</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-64">作为"程序"模式,模式正在运行的程序使用curss时保存当前的终端模式。</span><span class="yiyi-st" id="yiyi-65">(对应的是shell模式,当该程序不是用的curses)</span><span class="yiyi-st" id="yiyi-66">后续调用 <a class="reference internal" href="#curses.reset_prog_mode" title="curses.reset_prog_mode"><code class="xref py py-func docutils literal"><span class="pre">reset_prog_mode()</span></code></a> 会还原这个模式。</span></p></dd></dl><dl class="function"><dt id="curses.def_shell_mode"><span class="yiyi-st" id="yiyi-67"> <code class="descclassname">curses.</code><code class="descname">def_shell_mode</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-68">作为"shell"模式,模式正在运行的程序不使用curses时保存当前的终端模式。</span><span class="yiyi-st" id="yiyi-69">(对应的是"程序"模式中,当程序正在使用curses能力.)</span><span class="yiyi-st" id="yiyi-70">后续调用 <a class="reference internal" href="#curses.reset_shell_mode" title="curses.reset_shell_mode"><code class="xref py py-func docutils literal"><span class="pre">reset_shell_mode()</span></code></a> 将还原这个模式.</span></p></dd></dl><dl class="function"><dt id="curses.delay_output"><span class="yiyi-st" id="yiyi-71"> <code class="descclassname">curses.</code><code class="descname">delay_output</code><span class="sig-paren">(</span><em>ms</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-72">插入一个 <em>ms</em> 毫秒的暂停再输出上。</span></p></dd></dl><dl class="function"><dt id="curses.doupdate"><span class="yiyi-st" id="yiyi-73"> <code class="descclassname">curses.</code><code class="descname">doupdate</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-74">更新物理屏幕。</span><span class="yiyi-st" id="yiyi-75">Curses 库保持两种数据结构,一个代表当前的物理屏幕内容和表示所需的下一个状态的虚拟屏幕。</span><span class="yiyi-st" id="yiyi-76">这个 <a class="reference internal" href="#curses.doupdate" title="curses.doupdate"><code class="xref py py-func docutils literal"><span class="pre">doupdate()</span></code></a>范围性更新物理屏幕匹配虚拟屏幕。</span></p><p><span class="yiyi-st" id="yiyi-77">虚拟屏幕可能会在用<code class="xref py py-meth docutils literal"><span class="pre">addstr()</span></code>对window做了相关操作后,使用 <code class="xref py py-meth docutils literal"><span class="pre">noutrefresh()</span></code> 调用后有所更新。</span><span class="yiyi-st" id="yiyi-78">正常的<code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code>调用仅仅是<code class="xref py py-meth docutils literal"><span class="pre">noutrefresh()</span></code>,后面跟着<a class="reference internal" href="#curses.doupdate" title="curses.doupdate"><code class="xref py py-func docutils literal"><span class="pre">doupdate()</span></code></a>;如果必须更新多个窗口,则可以通过在所有窗口上发出<code class="xref py py-meth docutils literal"><span class="pre">noutrefresh()</span></code>调用来加速性能,并可能减少屏幕闪烁,然后再单个<a class="reference internal" href="#curses.doupdate" title="curses.doupdate"><code class="xref py py-func docutils literal"><span class="pre">doupdate()</span></code></a>。</span></p></dd></dl><dl class="function"><dt id="curses.echo"><span class="yiyi-st" id="yiyi-79"> <code class="descclassname">curses.</code><code class="descname">echo</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-80">进入echo模型。</span><span class="yiyi-st" id="yiyi-81">在echo 模式,每个字符的输入都会显示在屏幕上。</span></p></dd></dl><dl class="function"><dt id="curses.endwin"><span class="yiyi-st" id="yiyi-82"> <code class="descclassname">curses.</code><code class="descname">endwin</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-83">取消初始化库,和终端回到正常状态。</span></p></dd></dl><dl class="function"><dt id="curses.erasechar"><span class="yiyi-st" id="yiyi-84"> <code class="descclassname">curses.</code><code class="descname">erasechar</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-85">返回用户当前的擦除字符。</span><span class="yiyi-st" id="yiyi-86">在Unix操作系统下,这是curses程序的控制tty的一个属性,并不是由curses库本身设置的。</span></p></dd></dl><dl class="function"><dt id="curses.filter"><span class="yiyi-st" id="yiyi-87"> <code class="descclassname">curses.</code><code class="descname">filter</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-88">必须在调用<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>之前调用<a class="reference internal" href="#curses.filter" title="curses.filter"><code class="xref py py-func docutils literal"><span class="pre">filter()</span></code></a>例程(如果使用)。</span><span class="yiyi-st" id="yiyi-89">结果是,在这些调用中,<span class="target" id="index-0"></span> <code class="xref std std-envvar docutils literal"><span class="pre">LINES</span></code>设置为1;能力明确,杯,荤,cud1,cuu1,cuu,vpa被禁用;并且主字符串被设置为cr的值。</span><span class="yiyi-st" id="yiyi-90">其效果是光标限制在当前行,屏幕更新也是如此。</span><span class="yiyi-st" id="yiyi-91">这可以用于在不触摸屏幕的其余部分的情况下启用一次一个字符的行编辑。</span></p></dd></dl><dl class="function"><dt id="curses.flash"><span class="yiyi-st" id="yiyi-92"> <code class="descclassname">curses.</code><code class="descname">flash</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-93">闪烁屏幕。</span><span class="yiyi-st" id="yiyi-94">也就是说,将其改为反向视频,然后在短时间内将其改回。</span><span class="yiyi-st" id="yiyi-95">有些人比较喜欢诸如“可见铃”,以响应由<a class="reference internal" href="#curses.beep" title="curses.beep"><code class="xref py py-func docutils literal"><span class="pre">beep()</span></code></a>产生的听觉注意信号。</span></p></dd></dl><dl class="function"><dt id="curses.flushinp"><span class="yiyi-st" id="yiyi-96"> <code class="descclassname">curses.</code><code class="descname">flushinp</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-97">刷新所有输入缓冲区。</span><span class="yiyi-st" id="yiyi-98">这抛弃了用户键入并且尚未被程序处理的任何类型的头文件。</span></p></dd></dl><dl class="function"><dt id="curses.getmouse"><span class="yiyi-st" id="yiyi-99"> <code class="descclassname">curses.</code><code class="descname">getmouse</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-100">After <code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code> returns <code class="xref py py-const docutils literal"><span class="pre">KEY_MOUSE</span></code> to signal a mouse event, this method should be call to retrieve the queued mouse event, represented as a 5-tuple <code class="docutils literal"><span class="pre">(id,</span> <span class="pre">x,</span> <span class="pre">y,</span> <span class="pre">z,</span> <span class="pre">bstate)</span></code>. </span><span class="yiyi-st" id="yiyi-101"><em>id</em>是用于区分多个设备的ID值,<em>x</em>,<em>y</em>,<em>z</em>是事件的坐标。</span><span class="yiyi-st" id="yiyi-102">(<em>z</em>目前尚未使用。)</span><span class="yiyi-st" id="yiyi-103"><em>bstate</em> is an integer value whose bits will be set to indicate the type of event, and will be the bitwise OR of one or more of the following constants, where <em>n</em> is the button number from 1 to 4: <code class="xref py py-const docutils literal"><span class="pre">BUTTONn_PRESSED</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTONn_RELEASED</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTONn_CLICKED</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTONn_DOUBLE_CLICKED</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTONn_TRIPLE_CLICKED</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTON_SHIFT</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTON_CTRL</span></code>, <code class="xref py py-const docutils literal"><span class="pre">BUTTON_ALT</span></code>.</span></p></dd></dl><dl class="function"><dt id="curses.getsyx"><span class="yiyi-st" id="yiyi-104"> <code class="descclassname">curses.</code><code class="descname">getsyx</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-105">返回y和x中虚拟屏幕光标的当前坐标。</span><span class="yiyi-st" id="yiyi-106">如果leaveok当前为真,则返回-1,-1。</span></p></dd></dl><dl class="function"><dt id="curses.getwin"><span class="yiyi-st" id="yiyi-107"> <code class="descclassname">curses.</code><code class="descname">getwin</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-108">通过前面的<code class="xref py py-func docutils literal"><span class="pre">putwin()</span></code>调用读取存储在文件中的窗口相关数据。</span><span class="yiyi-st" id="yiyi-109">例程然后使用该数据创建并初始化新窗口,返回新的窗口对象。</span></p></dd></dl><dl class="function"><dt id="curses.has_colors"><span class="yiyi-st" id="yiyi-110"> <code class="descclassname">curses.</code><code class="descname">has_colors</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-111">如果终端可以显示颜色,则返回<code class="docutils literal"><span class="pre">True</span></code>;否则,返回<code class="docutils literal"><span class="pre">False</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.has_ic"><span class="yiyi-st" id="yiyi-112"> <code class="descclassname">curses.</code><code class="descname">has_ic</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-113">如果终端具有插入和删除字符功能,则返回<code class="docutils literal"><span class="pre">True</span></code>。</span><span class="yiyi-st" id="yiyi-114">此功能仅出于历史原因,因为所有现代软件终端仿真器都具有此功能。</span></p></dd></dl><dl class="function"><dt id="curses.has_il"><span class="yiyi-st" id="yiyi-115"> <code class="descclassname">curses.</code><code class="descname">has_il</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-116">如果终端具有插入和删除行功能,或者可以使用滚动区域模拟它们,则返回<code class="docutils literal"><span class="pre">True</span></code>。</span><span class="yiyi-st" id="yiyi-117">此功能仅出于历史原因,因为所有现代软件终端仿真器都具有此功能。</span></p></dd></dl><dl class="function"><dt id="curses.has_key"><span class="yiyi-st" id="yiyi-118"> <code class="descclassname">curses.</code><code class="descname">has_key</code><span class="sig-paren">(</span><em>ch</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-119">如果当前终端类型识别出具有该值的关键字,则获取关键值<em>ch</em>,并返回<code class="docutils literal"><span class="pre">True</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.halfdelay"><span class="yiyi-st" id="yiyi-120"> <code class="descclassname">curses.</code><code class="descname">halfdelay</code><span class="sig-paren">(</span><em>tenths</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-121">用于半延时模式,类似于Cbreak模式,因为用户键入的字符可立即用于程序。</span><span class="yiyi-st" id="yiyi-122">然而,在阻塞<em>十分之一秒</em>之后,如果没有输入任何内容,则会引发异常。</span><span class="yiyi-st" id="yiyi-123"><em>十分之一</em>的值必须是<code class="docutils literal"><span class="pre">1</span></code>和<code class="docutils literal"><span class="pre">255</span></code>之间的数字。</span><span class="yiyi-st" id="yiyi-124">使用<a class="reference internal" href="#curses.nocbreak" title="curses.nocbreak"><code class="xref py py-func docutils literal"><span class="pre">nocbreak()</span></code></a>离开半延迟模式。</span></p></dd></dl><dl class="function"><dt id="curses.init_color"><span class="yiyi-st" id="yiyi-125"> <code class="descclassname">curses.</code><code class="descname">init_color</code><span class="sig-paren">(</span><em>color_number</em>, <em>r</em>, <em>g</em>, <em>b</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-126">改变颜色的定义,取出要改变的颜色的数字,后面跟着三个RGB值(红色,绿色和蓝色成分的数量)。</span><span class="yiyi-st" id="yiyi-127"><em>color_number</em>的值必须介于<code class="docutils literal"><span class="pre">0</span></code>和<code class="xref py py-const docutils literal"><span class="pre">COLORS</span></code>之间。</span><span class="yiyi-st" id="yiyi-128"><em>r</em>,<em>g</em>,<em>b</em>中的每一个必须是<code class="docutils literal"><span class="pre">0</span></code>和<code class="docutils literal"><span class="pre">1000</span></code></span><span class="yiyi-st" id="yiyi-129">当使用<a class="reference internal" href="#curses.init_color" title="curses.init_color"><code class="xref py py-func docutils literal"><span class="pre">init_color()</span></code></a>时,屏幕上该颜色的所有出现立即变为新的定义。</span><span class="yiyi-st" id="yiyi-130">此功能在大多数终端上不可用;它仅在<a class="reference internal" href="#curses.can_change_color" title="curses.can_change_color"><code class="xref py py-func docutils literal"><span class="pre">can_change_color()</span></code></a>返回<code class="docutils literal"><span class="pre">1</span></code>时才有效。</span></p></dd></dl><dl class="function"><dt id="curses.init_pair"><span class="yiyi-st" id="yiyi-131"> <code class="descclassname">curses.</code><code class="descname">init_pair</code><span class="sig-paren">(</span><em>pair_number</em>, <em>fg</em>, <em>bg</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-132">更改颜色对的定义。</span><span class="yiyi-st" id="yiyi-133">它有三个参数:要更改的颜色对的编号,前景颜色编号和背景颜色编号。</span><span class="yiyi-st" id="yiyi-134"><em>pair_number</em>的值必须介于<code class="docutils literal"><span class="pre">1</span></code>和<code class="docutils literal"><span class="pre">COLOR_PAIRS</span> <span class="pre"> - </span> <span class="pre">1</span> </code>(<code class="docutils literal"><span class="pre">0</span></code>颜色对以黑色连线为白色,无法更改)。</span><span class="yiyi-st" id="yiyi-135"><em>fg</em>和<em>bg</em>参数的值必须介于<code class="docutils literal"><span class="pre">0</span></code>和<code class="xref py py-const docutils literal"><span class="pre">COLORS</span></code>之间。</span><span class="yiyi-st" id="yiyi-136">如果颜色对先前已初始化,则刷新屏幕并将该颜色对的所有出现更改为新定义。</span></p></dd></dl><dl class="function"><dt id="curses.initscr"><span class="yiyi-st" id="yiyi-137"> <code class="descclassname">curses.</code><code class="descname">initscr</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-138">初始化库。</span><span class="yiyi-st" id="yiyi-139">返回代表整个屏幕的<code class="xref py py-class docutils literal"><span class="pre">WindowObject</span></code>。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-140">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-141">如果在打开终端时出现错误,则底层curses库可能会导致解释器退出。</span></p></div></dd></dl><dl class="function"><dt id="curses.is_term_resized"><span class="yiyi-st" id="yiyi-142"> <code class="descclassname">curses.</code><code class="descname">is_term_resized</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-143">如果<a class="reference internal" href="#curses.resize_term" title="curses.resize_term"><code class="xref py py-func docutils literal"><span class="pre">resize_term()</span></code></a>会修改窗口结构,则返回<code class="docutils literal"><span class="pre">True</span></code>否则返回<code class="docutils literal"><span class="pre">False</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.isendwin"><span class="yiyi-st" id="yiyi-144"> <code class="descclassname">curses.</code><code class="descname">isendwin</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-145">如果调用了<a class="reference internal" href="#curses.endwin" title="curses.endwin"><code class="xref py py-func docutils literal"><span class="pre">endwin()</span></code></a>(即,curses库已被初始化),则返回<code class="docutils literal"><span class="pre">True</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.keyname"><span class="yiyi-st" id="yiyi-146"> <code class="descclassname">curses.</code><code class="descname">keyname</code><span class="sig-paren">(</span><em>k</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-147">返回编号为<em>k</em>的密钥的名称。生成可打印ASCII字符的键的名称是键的字符。</span><span class="yiyi-st" id="yiyi-148">控制键组合的名称是一个由字符组成的双字符字符串,后跟相应的可打印ASCII字符。</span><span class="yiyi-st" id="yiyi-149">alt-key组合的名称(128-255)是由前缀'M-'组成的字符串,后跟相应的ASCII字符的名称。</span></p></dd></dl><dl class="function"><dt id="curses.killchar"><span class="yiyi-st" id="yiyi-150"> <code class="descclassname">curses.</code><code class="descname">killchar</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-151">返回用户的当前行杀死字符。</span><span class="yiyi-st" id="yiyi-152">在Unix操作系统下,这是curses程序的控制tty的一个属性,并不是由curses库本身设置的。</span></p></dd></dl><dl class="function"><dt id="curses.longname"><span class="yiyi-st" id="yiyi-153"> <code class="descclassname">curses.</code><code class="descname">longname</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-154">返回一个字符串,其中包含描述当前终端的terminfo长名称字段。</span><span class="yiyi-st" id="yiyi-155">详细描述的最大长度是128个字符。</span><span class="yiyi-st" id="yiyi-156">它仅在调用<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>之后定义。</span></p></dd></dl><dl class="function"><dt id="curses.meta"><span class="yiyi-st" id="yiyi-157"> <code class="descclassname">curses.</code><code class="descname">meta</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-158">如果<em>是</em>是1,则允许输入8位字符。</span><span class="yiyi-st" id="yiyi-159">如果<em>yes</em>为0,则只允许7位字符。</span></p></dd></dl><dl class="function"><dt id="curses.mouseinterval"><span class="yiyi-st" id="yiyi-160"> <code class="descclassname">curses.</code><code class="descname">mouseinterval</code><span class="sig-paren">(</span><em>interval</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-161">设置按下和释放事件之间可以经过的最大时间(以毫秒为单位),以便将它们识别为点击,并返回上一个间隔值。</span><span class="yiyi-st" id="yiyi-162">默认值是200毫秒,或五分之一秒。</span></p></dd></dl><dl class="function"><dt id="curses.mousemask"><span class="yiyi-st" id="yiyi-163"> <code class="descclassname">curses.</code><code class="descname">mousemask</code><span class="sig-paren">(</span><em>mousemask</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-164">设置要报告的鼠标事件,并返回一个元组<code class="docutils literal"><span class="pre">(availmask,</span> <span class="pre">oldmask)</span></code>。</span><span class="yiyi-st" id="yiyi-165"><em>availmask</em> indicates which of the specified mouse events can be reported; on complete failure it returns 0. <em>oldmask</em> is the previous value of the given window’s mouse event mask. </span><span class="yiyi-st" id="yiyi-166">如果从未调用此函数,则不会报告任何鼠标事件。</span></p></dd></dl><dl class="function"><dt id="curses.napms"><span class="yiyi-st" id="yiyi-167"> <code class="descclassname">curses.</code><code class="descname">napms</code><span class="sig-paren">(</span><em>ms</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-168">Sleep for <em>ms</em> milliseconds.</span></p></dd></dl><dl class="function"><dt id="curses.newpad"><span class="yiyi-st" id="yiyi-169"> <code class="descclassname">curses.</code><code class="descname">newpad</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-170">创建并返回指向具有给定行数和列数的新Pad数据结构的指针。</span><span class="yiyi-st" id="yiyi-171">垫子作为窗口对象返回。</span></p><p><span class="yiyi-st" id="yiyi-172">衬垫就像一个窗口,除了它不受屏幕大小的限制,并且不一定与屏幕的特定部分相关联。</span><span class="yiyi-st" id="yiyi-173">当需要大窗口时,可以使用焊盘,并且一次只能在屏幕上显示一部分窗口。</span><span class="yiyi-st" id="yiyi-174">自动刷新垫(例如从滚动或回显输入)不会发生。</span><span class="yiyi-st" id="yiyi-175">pad的<code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code>和<code class="xref py py-meth docutils literal"><span class="pre">noutrefresh()</span></code>方法需要6个参数来指定要显示的pad的部分以及要用于显示。</span><span class="yiyi-st" id="yiyi-176">参数是<em>pminrow</em>,<em>pmincol</em>,<em>sminrow</em>,<em>smincol</em>,<em>smaxrow</em>,<em> smaxcol T5>; <em>p</em>自变量指的是要显示的填充区域的左上角,并且<em>s</em>自变量在屏幕上定义了一个剪切框, 。</em></span></p></dd></dl><dl class="function"><dt id="curses.newwin"><span class="yiyi-st" id="yiyi-177"> <code class="descclassname">curses.</code><code class="descname">newwin</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-178"> <code class="descclassname">curses.</code><code class="descname">newwin</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em>, <em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-179">返回一个新的窗口,其左上角位于<code class="docutils literal"><span class="pre">(begin_y,</span> <span class="pre">begin_x)</span></code>,其高度/宽度为<em>nlines < / T3> / <em> NCOLS T4>。</em></em></span></p><p><span class="yiyi-st" id="yiyi-180">默认情况下,窗口将从指定位置延伸到屏幕的右下角。</span></p></dd></dl><dl class="function"><dt id="curses.nl"><span class="yiyi-st" id="yiyi-181"> <code class="descclassname">curses.</code><code class="descname">nl</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-182">进入换行模式。</span><span class="yiyi-st" id="yiyi-183">此模式将返回键转换为输入的换行符,并将换行符转换为输出的回车符和换行符。</span><span class="yiyi-st" id="yiyi-184">换行模式最初处于打开状态。</span></p></dd></dl><dl class="function"><dt id="curses.nocbreak"><span class="yiyi-st" id="yiyi-185"> <code class="descclassname">curses.</code><code class="descname">nocbreak</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-186">离开cbreak模式。</span><span class="yiyi-st" id="yiyi-187">使用线路缓冲恢复到正常的“烹饪”模式。</span></p></dd></dl><dl class="function"><dt id="curses.noecho"><span class="yiyi-st" id="yiyi-188"> <code class="descclassname">curses.</code><code class="descname">noecho</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-189">留下回声模式。</span><span class="yiyi-st" id="yiyi-190">输入字符的回显被关闭。</span></p></dd></dl><dl class="function"><dt id="curses.nonl"><span class="yiyi-st" id="yiyi-191"> <code class="descclassname">curses.</code><code class="descname">nonl</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-192">离开换行模式。</span><span class="yiyi-st" id="yiyi-193">禁止在输入时将return换成换行符,并禁止将newline的低级转换转换为换行符/输出返回(但这不会改变<code class="docutils literal"><span class="pre">addch('\n')</span></code>的行为,相当于虚拟屏幕上的返回和换行)。</span><span class="yiyi-st" id="yiyi-194">通过翻译,诅咒有时可以加快垂直运动的速度;此外,它将能够检测输入上的返回键。</span></p></dd></dl><dl class="function"><dt id="curses.noqiflush"><span class="yiyi-st" id="yiyi-195"> <code class="descclassname">curses.</code><code class="descname">noqiflush</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-196">当使用<a class="reference internal" href="#curses.noqiflush" title="curses.noqiflush"><code class="xref py py-func docutils literal"><span class="pre">noqiflush()</span></code></a>例程时,与INTR,QUIT和SUSP字符关联的输入和输出队列的正常刷新将不会完成。</span><span class="yiyi-st" id="yiyi-197">如果您希望输出在处理程序退出后继续,就好像中断没有发生一样,您可能需要在信号处理程序中调用<a class="reference internal" href="#curses.noqiflush" title="curses.noqiflush"><code class="xref py py-func docutils literal"><span class="pre">noqiflush()</span></code></a>。</span></p></dd></dl><dl class="function"><dt id="curses.noraw"><span class="yiyi-st" id="yiyi-198"> <code class="descclassname">curses.</code><code class="descname">noraw</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-199">保持原始模式。</span><span class="yiyi-st" id="yiyi-200">使用线路缓冲恢复到正常的“烹饪”模式。</span></p></dd></dl><dl class="function"><dt id="curses.pair_content"><span class="yiyi-st" id="yiyi-201"> <code class="descclassname">curses.</code><code class="descname">pair_content</code><span class="sig-paren">(</span><em>pair_number</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-202">返回包含请求颜色对的颜色的元组<code class="docutils literal"><span class="pre">(fg,</span> <span class="pre">bg)</span></code>。</span><span class="yiyi-st" id="yiyi-203"><em>pair_number</em>的值必须介于<code class="docutils literal"><span class="pre">1</span></code>和<code class="docutils literal"><span class="pre">COLOR_PAIRS</span> <span class="pre"> - </span> <span class="pre">1</span> T3>。</code></span></p></dd></dl><dl class="function"><dt id="curses.pair_number"><span class="yiyi-st" id="yiyi-204"> <code class="descclassname">curses.</code><code class="descname">pair_number</code><span class="sig-paren">(</span><em>attr</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-205">返回由属性值<em>attr</em>设置的颜色对的编号。</span><span class="yiyi-st" id="yiyi-206"><a class="reference internal" href="#curses.color_pair" title="curses.color_pair"><code class="xref py py-func docutils literal"><span class="pre">color_pair()</span></code></a> is the counterpart to this function.</span></p></dd></dl><dl class="function"><dt id="curses.putp"><span class="yiyi-st" id="yiyi-207"> <code class="descclassname">curses.</code><code class="descname">putp</code><span class="sig-paren">(</span><em>string</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-208">Equivalent to <code class="docutils literal"><span class="pre">tputs(str,</span> <span class="pre">1,</span> <span class="pre">putchar)</span></code>; emit the value of a specified terminfo capability for the current terminal. </span><span class="yiyi-st" id="yiyi-209">请注意,<a class="reference internal" href="#curses.putp" title="curses.putp"><code class="xref py py-func docutils literal"><span class="pre">putp()</span></code></a>的输出总是转到标准输出。</span></p></dd></dl><dl class="function"><dt id="curses.qiflush"><span class="yiyi-st" id="yiyi-210"> <code class="descclassname">curses.</code><code class="descname">qiflush</code><span class="sig-paren">(</span><span class="optional">[</span><em>flag</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-211">如果<em>flag</em>为<code class="docutils literal"><span class="pre">False</span></code>,则效果与调用<a class="reference internal" href="#curses.noqiflush" title="curses.noqiflush"><code class="xref py py-func docutils literal"><span class="pre">noqiflush()</span></code></a>相同。</span><span class="yiyi-st" id="yiyi-212">如果<em>flag</em>为<code class="docutils literal"><span class="pre">True</span></code>,或者没有提供参数,则在读取这些控制字符时,队列将被刷新。</span></p></dd></dl><dl class="function"><dt id="curses.raw"><span class="yiyi-st" id="yiyi-213"> <code class="descclassname">curses.</code><code class="descname">raw</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-214">进入原始模式。</span><span class="yiyi-st" id="yiyi-215">在原始模式下,中断,退出,暂停和流量控制键的正常线路缓冲和处理被关闭;字符会逐个呈现给curses输入函数。</span></p></dd></dl><dl class="function"><dt id="curses.reset_prog_mode"><span class="yiyi-st" id="yiyi-216"> <code class="descclassname">curses.</code><code class="descname">reset_prog_mode</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-217">如之前由<a class="reference internal" href="#curses.def_prog_mode" title="curses.def_prog_mode"><code class="xref py py-func docutils literal"><span class="pre">def_prog_mode()</span></code></a>保存,将终端恢复到“编程”模式。</span></p></dd></dl><dl class="function"><dt id="curses.reset_shell_mode"><span class="yiyi-st" id="yiyi-218"> <code class="descclassname">curses.</code><code class="descname">reset_shell_mode</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-219">如以前由<a class="reference internal" href="#curses.def_shell_mode" title="curses.def_shell_mode"><code class="xref py py-func docutils literal"><span class="pre">def_shell_mode()</span></code></a>保存的,将终端恢复到“shell”模式。</span></p></dd></dl><dl class="function"><dt id="curses.resetty"><span class="yiyi-st" id="yiyi-220"> <code class="descclassname">curses.</code><code class="descname">resetty</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-221">将终端模式的状态恢复到最后一次调用<a class="reference internal" href="#curses.savetty" title="curses.savetty"><code class="xref py py-func docutils literal"><span class="pre">savetty()</span></code></a>时的状态。</span></p></dd></dl><dl class="function"><dt id="curses.resize_term"><span class="yiyi-st" id="yiyi-222"> <code class="descclassname">curses.</code><code class="descname">resize_term</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-223">Backend function used by <a class="reference internal" href="#curses.resizeterm" title="curses.resizeterm"><code class="xref py py-func docutils literal"><span class="pre">resizeterm()</span></code></a>, performing most of the work; when resizing the windows, <a class="reference internal" href="#curses.resize_term" title="curses.resize_term"><code class="xref py py-func docutils literal"><span class="pre">resize_term()</span></code></a> blank-fills the areas that are extended. </span><span class="yiyi-st" id="yiyi-224">调用应用程序应该用适当的数据填写这些区域。</span><span class="yiyi-st" id="yiyi-225"><a class="reference internal" href="#curses.resize_term" title="curses.resize_term"><code class="xref py py-func docutils literal"><span class="pre">resize_term()</span></code></a>函数尝试调整所有窗口的大小。</span><span class="yiyi-st" id="yiyi-226">但是,由于打击垫的调用惯例,不可能在没有与应用程序进行额外交互的情况下调整这些大小。</span></p></dd></dl><dl class="function"><dt id="curses.resizeterm"><span class="yiyi-st" id="yiyi-227"> <code class="descclassname">curses.</code><code class="descname">resizeterm</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-228">将标准窗口和当前窗口调整为指定尺寸,并调整由记录窗口尺寸的curses库(特别是SIGWINCH处理程序)使用的其他簿记数据。</span></p></dd></dl><dl class="function"><dt id="curses.savetty"><span class="yiyi-st" id="yiyi-229"> <code class="descclassname">curses.</code><code class="descname">savetty</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-230">将终端模式的当前状态保存在缓冲区中,可由<a class="reference internal" href="#curses.resetty" title="curses.resetty"><code class="xref py py-func docutils literal"><span class="pre">resetty()</span></code></a>使用。</span></p></dd></dl><dl class="function"><dt id="curses.setsyx"><span class="yiyi-st" id="yiyi-231"> <code class="descclassname">curses.</code><code class="descname">setsyx</code><span class="sig-paren">(</span><em>y</em>, <em>x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-232">将虚拟屏幕光标设置为<em>y</em>,<em>x</em>。</span><span class="yiyi-st" id="yiyi-233">如果<em>y</em>和<em>x</em>均为-1,则设置leaveok。</span></p></dd></dl><dl class="function"><dt id="curses.setupterm"><span class="yiyi-st" id="yiyi-234"> <code class="descclassname">curses.</code><code class="descname">setupterm</code><span class="sig-paren">(</span><span class="optional">[</span><em>termstr</em>, <em>fd</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-235">初始化终端。</span><span class="yiyi-st" id="yiyi-236"><em>termstr</em>是一个给出终端名称的字符串;如果省略,将使用<span class="target" id="index-1"></span> <code class="xref std std-envvar docutils literal"><span class="pre">TERM</span></code>环境变量的值。</span><span class="yiyi-st" id="yiyi-237"><em>fd</em> is the file descriptor to which any initialization sequences will be sent; if not supplied, the file descriptor for <code class="docutils literal"><span class="pre">sys.stdout</span></code> will be used.</span></p></dd></dl><dl class="function"><dt id="curses.start_color"><span class="yiyi-st" id="yiyi-238"> <code class="descclassname">curses.</code><code class="descname">start_color</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-239">如果程序员想要使用颜色,并且在任何其他颜色操作例程被调用之前必须被调用。</span><span class="yiyi-st" id="yiyi-240">在<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>之后立即调用这个例程是一个好习惯。</span></p><p><span class="yiyi-st" id="yiyi-241"><a class="reference internal" href="#curses.start_color" title="curses.start_color"><code class="xref py py-func docutils literal"><span class="pre">start_color()</span></code></a> initializes eight basic colors (black, red, green, yellow, blue, magenta, cyan, and white), and two global variables in the <a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a> module, <code class="xref py py-const docutils literal"><span class="pre">COLORS</span></code> and <code class="xref py py-const docutils literal"><span class="pre">COLOR_PAIRS</span></code>, containing the maximum number of colors and color-pairs the terminal can support. </span><span class="yiyi-st" id="yiyi-242">它还将终端上的颜色恢复到刚刚打开终端时的值。</span></p></dd></dl><dl class="function"><dt id="curses.termattrs"><span class="yiyi-st" id="yiyi-243"> <code class="descclassname">curses.</code><code class="descname">termattrs</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-244">返回终端支持的所有视频属性的逻辑OR。</span><span class="yiyi-st" id="yiyi-245">当诅咒程序需要完全控制屏幕外观时,此信息非常有用。</span></p></dd></dl><dl class="function"><dt id="curses.termname"><span class="yiyi-st" id="yiyi-246"> <code class="descclassname">curses.</code><code class="descname">termname</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-247">返回环境变量<span class="target" id="index-2"></span> <code class="xref std std-envvar docutils literal"><span class="pre">TERM</span></code>的值,截断为14个字符。</span></p></dd></dl><dl class="function"><dt id="curses.tigetflag"><span class="yiyi-st" id="yiyi-248"> <code class="descclassname">curses.</code><code class="descname">tigetflag</code><span class="sig-paren">(</span><em>capname</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-249">返回与terminfo能力名称<em>capname</em>对应的布尔能力的值。</span><span class="yiyi-st" id="yiyi-250">如果<em>capname</em>不是布尔能力,则返回值<code class="docutils literal"><span class="pre">-1</span></code>;如果从终端描述中取消或不存在,则返回<code class="docutils literal"><span class="pre">0</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.tigetnum"><span class="yiyi-st" id="yiyi-251"> <code class="descclassname">curses.</code><code class="descname">tigetnum</code><span class="sig-paren">(</span><em>capname</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-252">返回与terminfo能力名称<em>capname</em>对应的数字能力的值。</span><span class="yiyi-st" id="yiyi-253">如果<em>capname</em>不是数字能力,则返回值<code class="docutils literal"><span class="pre">-2</span></code>;如果从终端描述中取消或不存在,则返回<code class="docutils literal"><span class="pre">-1</span></code>。</span></p></dd></dl><dl class="function"><dt id="curses.tigetstr"><span class="yiyi-st" id="yiyi-254"> <code class="descclassname">curses.</code><code class="descname">tigetstr</code><span class="sig-paren">(</span><em>capname</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-255">返回与terminfo能力名称<em>capname</em>对应的字符串能力的值。</span><span class="yiyi-st" id="yiyi-256"><code class="docutils literal"><span class="pre">None</span></code> is returned if <em>capname</em> is not a string capability, or is canceled or absent from the terminal description.</span></p></dd></dl><dl class="function"><dt id="curses.tparm"><span class="yiyi-st" id="yiyi-257"> <code class="descclassname">curses.</code><code class="descname">tparm</code><span class="sig-paren">(</span><em>str</em><span class="optional">[</span>, <em>...</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-258">使用提供的参数实例化字符串<em>str</em>,其中<em>str</em>应该是从terminfo数据库获得的参数化字符串。</span><span class="yiyi-st" id="yiyi-259">例如</span><span class="yiyi-st" id="yiyi-260"><code class="docutils literal"><span class="pre">tparm(tigetstr("cup"),</span> <span class="pre">5,</span> <span class="pre">3)</span></code> could result in <code class="docutils literal"><span class="pre">b'\033[6;4H'</span></code>, the exact result depending on terminal type.</span></p></dd></dl><dl class="function"><dt id="curses.typeahead"><span class="yiyi-st" id="yiyi-261"> <code class="descclassname">curses.</code><code class="descname">typeahead</code><span class="sig-paren">(</span><em>fd</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-262">指定文件描述符<em>fd</em>用于键入检查。</span><span class="yiyi-st" id="yiyi-263">如果<em>fd</em>是<code class="docutils literal"><span class="pre">-1</span></code>,则不会执行前端检查。</span></p><p><span class="yiyi-st" id="yiyi-264">curses库通过在更新屏幕时定期查找typeahead来进行“line-breakout优化”。</span><span class="yiyi-st" id="yiyi-265">如果找到输入,并且它来自tty,则当前更新将被推迟,直到刷新或再次调用doupdate,从而可以更快地响应事先键入的命令。</span><span class="yiyi-st" id="yiyi-266">这个函数允许指定一个不同的文件描述符来进行typehead检查。</span></p></dd></dl><dl class="function"><dt id="curses.unctrl"><span class="yiyi-st" id="yiyi-267"> <code class="descclassname">curses.</code><code class="descname">unctrl</code><span class="sig-paren">(</span><em>ch</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-268">返回一个字符串,它是字符<em>ch</em>的可打印表示。</span><span class="yiyi-st" id="yiyi-269">控制字符显示为字符后面的插入符号,例如<code class="docutils literal"><span class="pre">^C</span></code>。</span><span class="yiyi-st" id="yiyi-270">打印字符保持原样。</span></p></dd></dl><dl class="function"><dt id="curses.ungetch"><span class="yiyi-st" id="yiyi-271"> <code class="descclassname">curses.</code><code class="descname">ungetch</code><span class="sig-paren">(</span><em>ch</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-272">按<em>ch</em>,下一个<code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code>将返回它。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-273">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-274">在调用<code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code>之前,只能推送一个<em>ch</em>。</span></p></div></dd></dl><dl class="function"><dt id="curses.update_lines_cols"><span class="yiyi-st" id="yiyi-275"> <code class="descclassname">curses.</code><code class="descname">update_lines_cols</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-276">更新<span class="target" id="index-3"></span> <code class="xref std std-envvar docutils literal"><span class="pre">LINES</span></code>和<span class="target" id="index-4"></span> <code class="xref std std-envvar docutils literal"><span class="pre">COLS</span></code>。</span><span class="yiyi-st" id="yiyi-277">用于检测手动调整屏幕大小。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-278"><span class="versionmodified">版本3.5中的新功能。</span></span></p></div></dd></dl><dl class="function"><dt id="curses.unget_wch"><span class="yiyi-st" id="yiyi-279"> <code class="descclassname">curses.</code><code class="descname">unget_wch</code><span class="sig-paren">(</span><em>ch</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-280">按<em>ch</em>,下一个<code class="xref py py-meth docutils literal"><span class="pre">get_wch()</span></code>将返回它。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-281">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-282">在调用<code class="xref py py-meth docutils literal"><span class="pre">get_wch()</span></code>之前,只能推送一个<em>ch</em>。</span></p></div><div class="versionadded"><p><span class="yiyi-st" id="yiyi-283"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div></dd></dl><dl class="function"><dt id="curses.ungetmouse"><span class="yiyi-st" id="yiyi-284"> <code class="descclassname">curses.</code><code class="descname">ungetmouse</code><span class="sig-paren">(</span><em>id</em>, <em>x</em>, <em>y</em>, <em>z</em>, <em>bstate</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-285">将<code class="xref py py-const docutils literal"><span class="pre">KEY_MOUSE</span></code>事件推入输入队列,将给定的状态数据与它关联。</span></p></dd></dl><dl class="function"><dt id="curses.use_env"><span class="yiyi-st" id="yiyi-286"> <code class="descclassname">curses.</code><code class="descname">use_env</code><span class="sig-paren">(</span><em>flag</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-287">如果使用,应该在调用<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>或newterm之前调用此函数。</span><span class="yiyi-st" id="yiyi-288">When <em>flag</em> is <code class="docutils literal"><span class="pre">False</span></code>, the values of lines and columns specified in the terminfo database will be used, even if environment variables <span class="target" id="index-5"></span><code class="xref std std-envvar docutils literal"><span class="pre">LINES</span></code> and <span class="target" id="index-6"></span><code class="xref std std-envvar docutils literal"><span class="pre">COLUMNS</span></code> (used by default) are set, or if curses is running in a window (in which case default behavior would be to use the window size if <span class="target" id="index-7"></span><code class="xref std std-envvar docutils literal"><span class="pre">LINES</span></code> and <span class="target" id="index-8"></span><code class="xref std std-envvar docutils literal"><span class="pre">COLUMNS</span></code> are not set).</span></p></dd></dl><dl class="function"><dt id="curses.use_default_colors"><span class="yiyi-st" id="yiyi-289"> <code class="descclassname">curses.</code><code class="descname">use_default_colors</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-290">允许在支持此功能的终端上使用颜色的默认值。</span><span class="yiyi-st" id="yiyi-291">使用它来支持应用程序的透明度。</span><span class="yiyi-st" id="yiyi-292">默认颜色分配给颜色编号-1。</span><span class="yiyi-st" id="yiyi-293">After calling this function, <code class="docutils literal"><span class="pre">init_pair(x,</span> <span class="pre">curses.COLOR_RED,</span> <span class="pre">-1)</span></code> initializes, for instance, color pair <em>x</em> to a red foreground color on the default background.</span></p></dd></dl><dl class="function"><dt id="curses.wrapper"><span class="yiyi-st" id="yiyi-294"> <code class="descclassname">curses.</code><code class="descname">wrapper</code><span class="sig-paren">(</span><em>func</em>, <em>...</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-295">初始化curses并调用另一个可调用的对象,<em>func</em>,它应该是您的curses使用应用程序的其余部分。</span><span class="yiyi-st" id="yiyi-296">如果应用程序引发异常,则此函数将在重新引发异常并生成回溯之前将终端恢复到正常状态。</span><span class="yiyi-st" id="yiyi-297">可调用对象<em>func</em>然后传递主窗口'stdscr'作为其第一个参数,然后传递给<a class="reference internal" href="#curses.wrapper" title="curses.wrapper"><code class="xref py py-func docutils literal"><span class="pre">wrapper()</span></code></a>的任何其他参数。</span><span class="yiyi-st" id="yiyi-298">Before calling <em>func</em>, <a class="reference internal" href="#curses.wrapper" title="curses.wrapper"><code class="xref py py-func docutils literal"><span class="pre">wrapper()</span></code></a> turns on cbreak mode, turns off echo, enables the terminal keypad, and initializes colors if the terminal has color support. </span><span class="yiyi-st" id="yiyi-299">在退出时(无论是正常还是例外),它将恢复已烹饪模式,打开回音并禁用终端键盘。</span></p></dd></dl></div><div class="section" id="window-objects"><h2><span class="yiyi-st" id="yiyi-300">16.10.2. </span><span class="yiyi-st" id="yiyi-301">窗口对象</span></h2><p><span class="yiyi-st" id="yiyi-302">上面的<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>和<a class="reference internal" href="#curses.newwin" title="curses.newwin"><code class="xref py py-func docutils literal"><span class="pre">newwin()</span></code></a>返回的窗口对象具有以下方法和属性:</span></p><dl class="method"><dt id="curses.window.addch"><span class="yiyi-st" id="yiyi-303"> <code class="descclassname">window.</code><code class="descname">addch</code><span class="sig-paren">(</span><em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-304"> <code class="descclassname">window.</code><code class="descname">addch</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-305">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-306"><em>字符</em>表示C字符(ASCII码),而不是Python字符(长度为1的字符串)。</span><span class="yiyi-st" id="yiyi-307">(只要文档提到一个字符,这个注释就是真的。)</span><span class="yiyi-st" id="yiyi-308">内置的<a class="reference internal" href="functions.html#ord" title="ord"><code class="xref py py-func docutils literal"><span class="pre">ord()</span></code></a>方便地将字符串传递给代码。</span></p></div><p><span class="yiyi-st" id="yiyi-309">在<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>处使用属性<em>attr</em>对字符<em>ch</em>性格以前画家在那个位置。</span><span class="yiyi-st" id="yiyi-310">默认情况下,字符位置和属性是窗口对象的当前设置。</span></p></dd></dl><dl class="method"><dt id="curses.window.addnstr"><span class="yiyi-st" id="yiyi-311"> <code class="descclassname">window.</code><code class="descname">addnstr</code><span class="sig-paren">(</span><em>str</em>, <em>n</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-312"> <code class="descclassname">window.</code><code class="descname">addnstr</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>str</em>, <em>n</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-313">在<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>处最多绘制字符串<em>str</em>的<em>n</em>使用属性<em>attr</em>,覆盖以前在显示器上的任何内容。</span></p></dd></dl><dl class="method"><dt id="curses.window.addstr"><span class="yiyi-st" id="yiyi-314"> <code class="descclassname">window.</code><code class="descname">addstr</code><span class="sig-paren">(</span><em>str</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-315"> <code class="descclassname">window.</code><code class="descname">addstr</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>str</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-316">在属性<em>attr</em>上覆盖<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>字符串<em>str</em>以前在显示器上的任何东西</span></p></dd></dl><dl class="method"><dt id="curses.window.attroff"><span class="yiyi-st" id="yiyi-317"> <code class="descclassname">window.</code><code class="descname">attroff</code><span class="sig-paren">(</span><em>attr</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-318">从应用于所有写入当前窗口的“背景”集中删除属性<em>attr</em>。</span></p></dd></dl><dl class="method"><dt id="curses.window.attron"><span class="yiyi-st" id="yiyi-319"> <code class="descclassname">window.</code><code class="descname">attron</code><span class="sig-paren">(</span><em>attr</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-320">从应用于当前窗口的所有写入的“背景”集中添加属性<em>attr</em>。</span></p></dd></dl><dl class="method"><dt id="curses.window.attrset"><span class="yiyi-st" id="yiyi-321"> <code class="descclassname">window.</code><code class="descname">attrset</code><span class="sig-paren">(</span><em>attr</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-322">将“背景”属性设置为<em>attr</em>。</span><span class="yiyi-st" id="yiyi-323">这个集合最初是0(没有属性)。</span></p></dd></dl><dl class="method"><dt id="curses.window.bkgd"><span class="yiyi-st" id="yiyi-324"> <code class="descclassname">window.</code><code class="descname">bkgd</code><span class="sig-paren">(</span><em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-325">使用属性<em>attr</em>将窗口的背景属性设置为字符<em>ch</em>。</span><span class="yiyi-st" id="yiyi-326">然后,该更改将应用于该窗口中的每个字符位置:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-327">窗口中每个字符的属性都会更改为新的背景属性。</span></li><li><span class="yiyi-st" id="yiyi-328">无论何处出现前一个背景字符,都会更改为新的背景字符。</span></li></ul></dd></dl><dl class="method"><dt id="curses.window.bkgdset"><span class="yiyi-st" id="yiyi-329"> <code class="descclassname">window.</code><code class="descname">bkgdset</code><span class="sig-paren">(</span><em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-330">设置窗口的背景。</span><span class="yiyi-st" id="yiyi-331">窗口的背景由一个字符和任何属性组合组成。</span><span class="yiyi-st" id="yiyi-332">背景的属性部分与写入窗口的所有非空字符组合(OR)。</span><span class="yiyi-st" id="yiyi-333">背景的字符和属性部分都与空白字符组合在一起。</span><span class="yiyi-st" id="yiyi-334">背景变成字符的属性,并通过任何滚动和插入/删除行/字符操作与字符一起移动。</span></p></dd></dl><dl class="method"><dt id="curses.window.border"><span class="yiyi-st" id="yiyi-335"> <code class="descclassname">window.</code><code class="descname">border</code><span class="sig-paren">(</span><span class="optional">[</span><em>ls</em><span class="optional">[</span>, <em>rs</em><span class="optional">[</span>, <em>ts</em><span class="optional">[</span>, <em>bs</em><span class="optional">[</span>, <em>tl</em><span class="optional">[</span>, <em>tr</em><span class="optional">[</span>, <em>bl</em><span class="optional">[</span>, <em>br</em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-336">在窗口的边缘周围绘制边框。</span><span class="yiyi-st" id="yiyi-337">每个参数指定用于边框特定部分的字符;有关更多详细信息,请参阅下表。</span><span class="yiyi-st" id="yiyi-338">这些字符可以指定为整数或单字符字符串。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-339">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-340">任何参数的<code class="docutils literal"><span class="pre">0</span></code>值都会导致默认字符用于该参数。</span><span class="yiyi-st" id="yiyi-341">关键字参数可以<em>不能</em>使用。</span><span class="yiyi-st" id="yiyi-342">该表中列出了默认值:</span></p></div><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-343">参数</span></th><th class="head"><span class="yiyi-st" id="yiyi-344">描述</span></th><th class="head"><span class="yiyi-st" id="yiyi-345">默认值</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-346"><em> LS T0></em></span></td><td><span class="yiyi-st" id="yiyi-347">左边</span></td><td><span class="yiyi-st" id="yiyi-348"><code class="xref py py-const docutils literal"><span class="pre">ACS_VLINE</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-349"><em> RS T0></em></span></td><td><span class="yiyi-st" id="yiyi-350">右边</span></td><td><span class="yiyi-st" id="yiyi-351"><code class="xref py py-const docutils literal"><span class="pre">ACS_VLINE</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-352"><em> TS T0></em></span></td><td><span class="yiyi-st" id="yiyi-353">最佳</span></td><td><span class="yiyi-st" id="yiyi-354"><code class="xref py py-const docutils literal"><span class="pre">ACS_HLINE</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-355"><em> BS T0></em></span></td><td><span class="yiyi-st" id="yiyi-356">底部</span></td><td><span class="yiyi-st" id="yiyi-357"><code class="xref py py-const docutils literal"><span class="pre">ACS_HLINE</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-358"><em> TL T0></em></span></td><td><span class="yiyi-st" id="yiyi-359">左上角</span></td><td><span class="yiyi-st" id="yiyi-360"><code class="xref py py-const docutils literal"><span class="pre">ACS_ULCORNER</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-361"><em> TR T0></em></span></td><td><span class="yiyi-st" id="yiyi-362">右上角</span></td><td><span class="yiyi-st" id="yiyi-363"><code class="xref py py-const docutils literal"><span class="pre">ACS_URCORNER</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-364"><em> BL T0></em></span></td><td><span class="yiyi-st" id="yiyi-365">左下角</span></td><td><span class="yiyi-st" id="yiyi-366"><code class="xref py py-const docutils literal"><span class="pre">ACS_LLCORNER</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-367"><em> BR T0></em></span></td><td><span class="yiyi-st" id="yiyi-368">右下角</span></td><td><span class="yiyi-st" id="yiyi-369"><code class="xref py py-const docutils literal"><span class="pre">ACS_LRCORNER</span></code></span></td></tr></tbody></table></dd></dl><dl class="method"><dt id="curses.window.box"><span class="yiyi-st" id="yiyi-370"> <code class="descclassname">window.</code><code class="descname">box</code><span class="sig-paren">(</span><span class="optional">[</span><em>vertch</em>, <em>horch</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-371">Similar to <a class="reference internal" href="#curses.window.border" title="curses.window.border"><code class="xref py py-meth docutils literal"><span class="pre">border()</span></code></a>, but both <em>ls</em> and <em>rs</em> are <em>vertch</em> and both <em>ts</em> and <em>bs</em> are <em>horch</em>. </span><span class="yiyi-st" id="yiyi-372">此功能始终使用默认的角落角色。</span></p></dd></dl><dl class="method"><dt id="curses.window.chgat"><span class="yiyi-st" id="yiyi-373"> <code class="descclassname">window.</code><code class="descname">chgat</code><span class="sig-paren">(</span><em>attr</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-374"> <code class="descclassname">window.</code><code class="descname">chgat</code><span class="sig-paren">(</span><em>num</em>, <em>attr</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-375"> <code class="descclassname">window.</code><code class="descname">chgat</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>attr</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-376"> <code class="descclassname">window.</code><code class="descname">chgat</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>num</em>, <em>attr</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-377">在当前光标位置或<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>位置设置<em>num</em> 。</span><span class="yiyi-st" id="yiyi-378">如果未给出<em>num</em>的值或<em>num</em> = -1,则将在行的所有字符上设置该属性。</span><span class="yiyi-st" id="yiyi-379">该功能不移动光标。</span><span class="yiyi-st" id="yiyi-380">使用<a class="reference internal" href="#curses.window.touchline" title="curses.window.touchline"><code class="xref py py-meth docutils literal"><span class="pre">touchline()</span></code></a>方法可以触及已更改的行,以便下一次窗口刷新将重新显示内容。</span></p></dd></dl><dl class="method"><dt id="curses.window.clear"><span class="yiyi-st" id="yiyi-381"> <code class="descclassname">window.</code><code class="descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-382">像<a class="reference internal" href="#curses.window.erase" title="curses.window.erase"><code class="xref py py-meth docutils literal"><span class="pre">erase()</span></code></a>一样,但是也会导致在下次调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>时重新整个窗口。</span></p></dd></dl><dl class="method"><dt id="curses.window.clearok"><span class="yiyi-st" id="yiyi-383"> <code class="descclassname">window.</code><code class="descname">clearok</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-384">如果<em>yes</em>为1,则下一次调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>将完全清除窗口。</span></p></dd></dl><dl class="method"><dt id="curses.window.clrtobot"><span class="yiyi-st" id="yiyi-385"> <code class="descclassname">window.</code><code class="descname">clrtobot</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-386">从光标擦除到窗口的末尾:删除光标下的所有行,然后执行相当于<a class="reference internal" href="#curses.window.clrtoeol" title="curses.window.clrtoeol"><code class="xref py py-meth docutils literal"><span class="pre">clrtoeol()</span></code></a>的操作。</span></p></dd></dl><dl class="method"><dt id="curses.window.clrtoeol"><span class="yiyi-st" id="yiyi-387"> <code class="descclassname">window.</code><code class="descname">clrtoeol</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-388">从光标擦除到行尾。</span></p></dd></dl><dl class="method"><dt id="curses.window.cursyncup"><span class="yiyi-st" id="yiyi-389"> <code class="descclassname">window.</code><code class="descname">cursyncup</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-390">更新窗口所有祖先的当前光标位置,以反映窗口的当前光标位置。</span></p></dd></dl><dl class="method"><dt id="curses.window.delch"><span class="yiyi-st" id="yiyi-391"> <code class="descclassname">window.</code><code class="descname">delch</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-392">删除<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>中的任何字符。</span></p></dd></dl><dl class="method"><dt id="curses.window.deleteln"><span class="yiyi-st" id="yiyi-393"> <code class="descclassname">window.</code><code class="descname">deleteln</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-394">删除光标下的行。</span><span class="yiyi-st" id="yiyi-395">以下所有行都向上移动一行。</span></p></dd></dl><dl class="method"><dt id="curses.window.derwin"><span class="yiyi-st" id="yiyi-396"> <code class="descclassname">window.</code><code class="descname">derwin</code><span class="sig-paren">(</span><em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-397"> <code class="descclassname">window.</code><code class="descname">derwin</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em>, <em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-398">An abbreviation for “derive window”, <a class="reference internal" href="#curses.window.derwin" title="curses.window.derwin"><code class="xref py py-meth docutils literal"><span class="pre">derwin()</span></code></a> is the same as calling <a class="reference internal" href="#curses.window.subwin" title="curses.window.subwin"><code class="xref py py-meth docutils literal"><span class="pre">subwin()</span></code></a>, except that <em>begin_y</em> and <em>begin_x</em> are relative to the origin of the window, rather than relative to the entire screen. </span><span class="yiyi-st" id="yiyi-399">为派生窗口返回一个窗口对象。</span></p></dd></dl><dl class="method"><dt id="curses.window.echochar"><span class="yiyi-st" id="yiyi-400"> <code class="descclassname">window.</code><code class="descname">echochar</code><span class="sig-paren">(</span><em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-401">在属性<em>attr</em>中添加字符<em>ch</em>,并立即在窗口上调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>。</span></p></dd></dl><dl class="method"><dt id="curses.window.enclose"><span class="yiyi-st" id="yiyi-402"> <code class="descclassname">window.</code><code class="descname">enclose</code><span class="sig-paren">(</span><em>y</em>, <em>x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-403">测试给定的窗口是否包含给定的屏幕相对字符单元坐标对,返回<code class="docutils literal"><span class="pre">True</span></code>或<code class="docutils literal"><span class="pre">False</span></code>。</span><span class="yiyi-st" id="yiyi-404">确定屏幕窗口的哪个子集包含鼠标事件的位置很有用。</span></p></dd></dl><dl class="attribute"><dt id="curses.window.encoding"><span class="yiyi-st" id="yiyi-405"> <code class="descclassname">window.</code><code class="descname">encoding</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-406">用于编码方法参数的编码(Unicode字符串和字符)。</span><span class="yiyi-st" id="yiyi-407">编码属性在创建子窗口时从父窗口继承,例如,使用<a class="reference internal" href="#curses.window.subwin" title="curses.window.subwin"><code class="xref py py-meth docutils literal"><span class="pre">window.subwin()</span></code></a>。</span><span class="yiyi-st" id="yiyi-408">默认情况下,使用区域设置编码(请参阅<a class="reference internal" href="locale.html#locale.getpreferredencoding" title="locale.getpreferredencoding"><code class="xref py py-func docutils literal"><span class="pre">locale.getpreferredencoding()</span></code></a>)。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-409"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div></dd></dl><dl class="method"><dt id="curses.window.erase"><span class="yiyi-st" id="yiyi-410"> <code class="descclassname">window.</code><code class="descname">erase</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-411">清除窗口。</span></p></dd></dl><dl class="method"><dt id="curses.window.getbegyx"><span class="yiyi-st" id="yiyi-412"> <code class="descclassname">window.</code><code class="descname">getbegyx</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-413">返回左上角坐标的元组<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.getbkgd"><span class="yiyi-st" id="yiyi-414"> <code class="descclassname">window.</code><code class="descname">getbkgd</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-415">返回给定窗口的当前背景字符/属性对。</span></p></dd></dl><dl class="method"><dt id="curses.window.getch"><span class="yiyi-st" id="yiyi-416"> <code class="descclassname">window.</code><code class="descname">getch</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-417">获得一个角色。</span><span class="yiyi-st" id="yiyi-418">请注意,返回的整数<em>不是</em>必须在ASCII范围内:功能键,小键盘键等返回数字大于256。</span><span class="yiyi-st" id="yiyi-419">在无延迟模式下,如果没有输入,则返回-1,否则<a class="reference internal" href="#curses.window.getch" title="curses.window.getch"><code class="xref py py-func docutils literal"><span class="pre">getch()</span></code></a>将一直等待,直到按下一个键。</span></p></dd></dl><dl class="method"><dt id="curses.window.get_wch"><span class="yiyi-st" id="yiyi-420"> <code class="descclassname">window.</code><code class="descname">get_wch</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-421">获得广泛的性格。</span><span class="yiyi-st" id="yiyi-422">返回大多数键的字符,或功能键,小键盘键和其他特殊键的整数。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-423"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div></dd></dl><dl class="method"><dt id="curses.window.getkey"><span class="yiyi-st" id="yiyi-424"> <code class="descclassname">window.</code><code class="descname">getkey</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-425">获取一个字符,返回一个字符串而不是一个整数,如<a class="reference internal" href="#curses.window.getch" title="curses.window.getch"><code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code></a>所做的那样。</span><span class="yiyi-st" id="yiyi-426">功能键,小键盘键和其他特殊键返回包含键名称的多字节字符串。</span><span class="yiyi-st" id="yiyi-427">在无延迟模式下,如果没有输入,则会引发异常。</span></p></dd></dl><dl class="method"><dt id="curses.window.getmaxyx"><span class="yiyi-st" id="yiyi-428"> <code class="descclassname">window.</code><code class="descname">getmaxyx</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-429">返回窗口高度和宽度的元组<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.getparyx"><span class="yiyi-st" id="yiyi-430"> <code class="descclassname">window.</code><code class="descname">getparyx</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-431">将此窗口的起始坐标相对于其父窗口返回为两个整数变量y和x。</span><span class="yiyi-st" id="yiyi-432">如果此窗口没有父项,则返回<code class="docutils literal"><span class="pre">-1,</span> <span class="pre">-1</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.getstr"><span class="yiyi-st" id="yiyi-433"> <code class="descclassname">window.</code><code class="descname">getstr</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-434">从用户读取一个字符串,具有原始的行编辑能力。</span></p></dd></dl><dl class="method"><dt id="curses.window.getyx"><span class="yiyi-st" id="yiyi-435"> <code class="descclassname">window.</code><code class="descname">getyx</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-436">返回当前光标位置相对于窗口左上角的元组<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.hline"><span class="yiyi-st" id="yiyi-437"> <code class="descclassname">window.</code><code class="descname">hline</code><span class="sig-paren">(</span><em>ch</em>, <em>n</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-438"> <code class="descclassname">window.</code><code class="descname">hline</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>ch</em>, <em>n</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-439">Display a horizontal line starting at <code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code> with length <em>n</em> consisting of the character <em>ch</em>.</span></p></dd></dl><dl class="method"><dt id="curses.window.idcok"><span class="yiyi-st" id="yiyi-440"> <code class="descclassname">window.</code><code class="descname">idcok</code><span class="sig-paren">(</span><em>flag</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-441">如果<em>flag</em>为<code class="docutils literal"><span class="pre">False</span></code>,则curses不再考虑使用终端的硬件插入/删除字符功能;如果<em>标志</em>为<code class="docutils literal"><span class="pre">True</span></code>,则启用字符插入和删除功能。</span><span class="yiyi-st" id="yiyi-442">当首次初始化curses时,缺省情况下使用字符插入/删除。</span></p></dd></dl><dl class="method"><dt id="curses.window.idlok"><span class="yiyi-st" id="yiyi-443"> <code class="descclassname">window.</code><code class="descname">idlok</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-444">If called with <em>yes</em> equal to 1, <a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a> will try and use hardware line editing facilities. </span><span class="yiyi-st" id="yiyi-445">否则,行插入/删除被禁用。</span></p></dd></dl><dl class="method"><dt id="curses.window.immedok"><span class="yiyi-st" id="yiyi-446"> <code class="descclassname">window.</code><code class="descname">immedok</code><span class="sig-paren">(</span><em>flag</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-447">如果<em>flag</em>为<code class="docutils literal"><span class="pre">True</span></code>,则窗口图像的任何更改都会自动刷新窗口;你不再需要自己调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>。</span><span class="yiyi-st" id="yiyi-448">但是,由于重复调用wrefresh,它可能会大大降低性能。</span><span class="yiyi-st" id="yiyi-449">该选项默认是禁用的。</span></p></dd></dl><dl class="method"><dt id="curses.window.inch"><span class="yiyi-st" id="yiyi-450"> <code class="descclassname">window.</code><code class="descname">inch</code><span class="sig-paren">(</span><span class="optional">[</span><em>y</em>, <em>x</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-451">返回窗口中给定位置的字符。</span><span class="yiyi-st" id="yiyi-452">底部的8位是字符,高位是属性。</span></p></dd></dl><dl class="method"><dt id="curses.window.insch"><span class="yiyi-st" id="yiyi-453"> <code class="descclassname">window.</code><code class="descname">insch</code><span class="sig-paren">(</span><em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-454"> <code class="descclassname">window.</code><code class="descname">insch</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>ch</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-455">在属性<em>attr</em>中在<code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code>上绘制字符<em>ch</em>从<em>x</em>位置右移一个字符。</span></p></dd></dl><dl class="method"><dt id="curses.window.insdelln"><span class="yiyi-st" id="yiyi-456"> <code class="descclassname">window.</code><code class="descname">insdelln</code><span class="sig-paren">(</span><em>nlines</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-457">将<em>nlines</em>行插入当前行上方的指定窗口中。</span><span class="yiyi-st" id="yiyi-458"><em>nlines</em>底线会丢失。</span><span class="yiyi-st" id="yiyi-459">对于<em>nlines</em>,删除<em>nlines</em>行,并将剩下的行向上移动。</span><span class="yiyi-st" id="yiyi-460">底部的<em>nlines</em>行被清除。</span><span class="yiyi-st" id="yiyi-461">当前光标位置保持不变。</span></p></dd></dl><dl class="method"><dt id="curses.window.insertln"><span class="yiyi-st" id="yiyi-462"> <code class="descclassname">window.</code><code class="descname">insertln</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-463">在光标下插入一个空行。</span><span class="yiyi-st" id="yiyi-464">以下所有行都向下移动一行。</span></p></dd></dl><dl class="method"><dt id="curses.window.insnstr"><span class="yiyi-st" id="yiyi-465"> <code class="descclassname">window.</code><code class="descname">insnstr</code><span class="sig-paren">(</span><em>str</em>, <em>n</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-466"> <code class="descclassname">window.</code><code class="descname">insnstr</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>str</em>, <em>n</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-467">在光标下方的字符前面插入一个字符串(可以放入行中的字符数),最多为<em>n</em>个字符。</span><span class="yiyi-st" id="yiyi-468">如果<em>n</em>为零或负值,则插入整个字符串。</span><span class="yiyi-st" id="yiyi-469">光标右边的所有字符都右移,线上最右边的字符丢失。</span><span class="yiyi-st" id="yiyi-470">光标位置不会改变(如果指定,移动到<em>y</em>,<em>x</em>之后)。</span></p></dd></dl><dl class="method"><dt id="curses.window.insstr"><span class="yiyi-st" id="yiyi-471"> <code class="descclassname">window.</code><code class="descname">insstr</code><span class="sig-paren">(</span><em>str</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-472"> <code class="descclassname">window.</code><code class="descname">insstr</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>str</em><span class="optional">[</span>, <em>attr</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-473">在光标之下的字符之前插入一个字符串(可以放在行上的字符数量)。</span><span class="yiyi-st" id="yiyi-474">光标右边的所有字符都右移,线上最右边的字符丢失。</span><span class="yiyi-st" id="yiyi-475">光标位置不会改变(如果指定,移动到<em>y</em>,<em>x</em>之后)。</span></p></dd></dl><dl class="method"><dt id="curses.window.instr"><span class="yiyi-st" id="yiyi-476"> <code class="descclassname">window.</code><code class="descname">instr</code><span class="sig-paren">(</span><span class="optional">[</span><em>n</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-477"> <code class="descclassname">window.</code><code class="descname">instr</code><span class="sig-paren">(</span><em>y</em>, <em>x</em><span class="optional">[</span>, <em>n</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-478">返回从当前光标位置开始从窗口提取的字符串,如果指定,则返回<em>y</em>,<em>x</em>。</span><span class="yiyi-st" id="yiyi-479">属性从角色中剥离。</span><span class="yiyi-st" id="yiyi-480">If <em>n</em> is specified, <a class="reference internal" href="#curses.window.instr" title="curses.window.instr"><code class="xref py py-meth docutils literal"><span class="pre">instr()</span></code></a> returns a string at most <em>n</em> characters long (exclusive of the trailing NUL).</span></p></dd></dl><dl class="method"><dt id="curses.window.is_linetouched"><span class="yiyi-st" id="yiyi-481"> <code class="descclassname">window.</code><code class="descname">is_linetouched</code><span class="sig-paren">(</span><em>line</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-482">如果自上次调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>后指定的行被修改,则返回<code class="docutils literal"><span class="pre">True</span></code>;否则返回<code class="docutils literal"><span class="pre">False</span></code>。</span><span class="yiyi-st" id="yiyi-483">如果<em>行</em>对给定窗口无效,请引发<a class="reference internal" href="#curses.error" title="curses.error"><code class="xref py py-exc docutils literal"><span class="pre">curses.error</span></code></a>异常。</span></p></dd></dl><dl class="method"><dt id="curses.window.is_wintouched"><span class="yiyi-st" id="yiyi-484"> <code class="descclassname">window.</code><code class="descname">is_wintouched</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-485">如果自上次调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>后指定的窗口被修改,则返回<code class="docutils literal"><span class="pre">True</span></code>;否则返回<code class="docutils literal"><span class="pre">False</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.keypad"><span class="yiyi-st" id="yiyi-486"> <code class="descclassname">window.</code><code class="descname">keypad</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-487">如果<em>yes</em>是1,则由<a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a>解释某些键(键盘,功能键)生成的转义序列。</span><span class="yiyi-st" id="yiyi-488">如果<em>yes</em>为0,则转义序列将保留原样在输入流中。</span></p></dd></dl><dl class="method"><dt id="curses.window.leaveok"><span class="yiyi-st" id="yiyi-489"> <code class="descclassname">window.</code><code class="descname">leaveok</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-490">如果<em>yes</em>是1,则光标保留在更新位置,而不是位于“光标位置”。这样可以尽可能减少光标移动。</span><span class="yiyi-st" id="yiyi-491">如果可能的话,光标将变得不可见。</span></p><p><span class="yiyi-st" id="yiyi-492">如果<em>yes</em>为0,则更新后光标始终位于“光标位置”。</span></p></dd></dl><dl class="method"><dt id="curses.window.move"><span class="yiyi-st" id="yiyi-493"> <code class="descclassname">window.</code><code class="descname">move</code><span class="sig-paren">(</span><em>new_y</em>, <em>new_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-494">将光标移动到<code class="docutils literal"><span class="pre">(new_y,</span> <span class="pre">new_x)</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.mvderwin"><span class="yiyi-st" id="yiyi-495"> <code class="descclassname">window.</code><code class="descname">mvderwin</code><span class="sig-paren">(</span><em>y</em>, <em>x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-496">将窗口移动到其父窗口中。</span><span class="yiyi-st" id="yiyi-497">窗口的屏幕相关参数不会改变。</span><span class="yiyi-st" id="yiyi-498">此例程用于在屏幕上相同的物理位置显示父窗口的不同部分。</span></p></dd></dl><dl class="method"><dt id="curses.window.mvwin"><span class="yiyi-st" id="yiyi-499"> <code class="descclassname">window.</code><code class="descname">mvwin</code><span class="sig-paren">(</span><em>new_y</em>, <em>new_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-500">移动窗口,使其左上角位于<code class="docutils literal"><span class="pre">(new_y,</span> <span class="pre">new_x)</span></code>。</span></p></dd></dl><dl class="method"><dt id="curses.window.nodelay"><span class="yiyi-st" id="yiyi-501"> <code class="descclassname">window.</code><code class="descname">nodelay</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-502">如果<em>是</em>是<code class="docutils literal"><span class="pre">1</span></code>,则<a class="reference internal" href="#curses.window.getch" title="curses.window.getch"><code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code></a>将是非阻塞的。</span></p></dd></dl><dl class="method"><dt id="curses.window.notimeout"><span class="yiyi-st" id="yiyi-503"> <code class="descclassname">window.</code><code class="descname">notimeout</code><span class="sig-paren">(</span><em>yes</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-504">如果<em>是</em>是<code class="docutils literal"><span class="pre">1</span></code>,转义序列不会超时。</span></p><p><span class="yiyi-st" id="yiyi-505">如果<em>是</em>是<code class="docutils literal"><span class="pre">0</span></code>,几毫秒后,转义序列将不会被解释,并且会保留在输入流中。</span></p></dd></dl><dl class="method"><dt id="curses.window.noutrefresh"><span class="yiyi-st" id="yiyi-506"> <code class="descclassname">window.</code><code class="descname">noutrefresh</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-507">标记刷新,但等待。</span><span class="yiyi-st" id="yiyi-508">该函数更新代表窗口所需状态的数据结构,但不强制更新物理屏幕。</span><span class="yiyi-st" id="yiyi-509">要做到这一点,请致电<a class="reference internal" href="#curses.doupdate" title="curses.doupdate"><code class="xref py py-func docutils literal"><span class="pre">doupdate()</span></code></a>。</span></p></dd></dl><dl class="method"><dt id="curses.window.overlay"><span class="yiyi-st" id="yiyi-510"> <code class="descclassname">window.</code><code class="descname">overlay</code><span class="sig-paren">(</span><em>destwin</em><span class="optional">[</span>, <em>sminrow</em>, <em>smincol</em>, <em>dminrow</em>, <em>dmincol</em>, <em>dmaxrow</em>, <em>dmaxcol</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-511">将窗口覆盖在<em>destwin</em>的顶部。</span><span class="yiyi-st" id="yiyi-512">窗口不必是相同的大小,只有重叠区域被复制。</span><span class="yiyi-st" id="yiyi-513">该副本是非破坏性的,这意味着当前背景字符不会覆盖<em>destwin</em>的旧内容。</span></p><p><span class="yiyi-st" id="yiyi-514">要对复制区域进行细粒度控制,可以使用第二种形式的<a class="reference internal" href="#curses.window.overlay" title="curses.window.overlay"><code class="xref py py-meth docutils literal"><span class="pre">overlay()</span></code></a>。</span><span class="yiyi-st" id="yiyi-515"><em>sminrow</em>和<em>smincol</em>是源窗口的左上角坐标,其他变量标记目标窗口中的矩形。</span></p></dd></dl><dl class="method"><dt id="curses.window.overwrite"><span class="yiyi-st" id="yiyi-516"> <code class="descclassname">window.</code><code class="descname">overwrite</code><span class="sig-paren">(</span><em>destwin</em><span class="optional">[</span>, <em>sminrow</em>, <em>smincol</em>, <em>dminrow</em>, <em>dmincol</em>, <em>dmaxrow</em>, <em>dmaxcol</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-517">覆盖<em>destwin</em>顶部的窗口。</span><span class="yiyi-st" id="yiyi-518">窗口不必是相同的大小,在这种情况下,只有重叠区域被复制。</span><span class="yiyi-st" id="yiyi-519">该副本具有破坏性,这意味着当前背景字符将覆盖<em>destwin</em>的旧内容。</span></p><p><span class="yiyi-st" id="yiyi-520">为了对复制的区域进行细粒度的控制,可以使用<a class="reference internal" href="#curses.window.overwrite" title="curses.window.overwrite"><code class="xref py py-meth docutils literal"><span class="pre">overwrite()</span></code></a>的第二种形式。</span><span class="yiyi-st" id="yiyi-521"><em>sminrow</em>和<em>smincol</em>是源窗口的左上角坐标,其他变量在目标窗口中标记一个矩形。</span></p></dd></dl><dl class="method"><dt id="curses.window.putwin"><span class="yiyi-st" id="yiyi-522"> <code class="descclassname">window.</code><code class="descname">putwin</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-523">将与窗口关联的所有数据写入提供的文件对象。</span><span class="yiyi-st" id="yiyi-524">这些信息可以在以后使用<a class="reference internal" href="#curses.getwin" title="curses.getwin"><code class="xref py py-func docutils literal"><span class="pre">getwin()</span></code></a>函数进行检索。</span></p></dd></dl><dl class="method"><dt id="curses.window.redrawln"><span class="yiyi-st" id="yiyi-525"> <code class="descclassname">window.</code><code class="descname">redrawln</code><span class="sig-paren">(</span><em>beg</em>, <em>num</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-526">指示从<em>beg</em>行开始的<em>num</em>屏幕行损坏,应该在下一次<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>调用时完全重绘。</span></p></dd></dl><dl class="method"><dt id="curses.window.redrawwin"><span class="yiyi-st" id="yiyi-527"> <code class="descclassname">window.</code><code class="descname">redrawwin</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-528">触摸整个窗口,在下一次<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>调用时完全重绘。</span></p></dd></dl><dl class="method"><dt id="curses.window.refresh"><span class="yiyi-st" id="yiyi-529"> <code class="descclassname">window.</code><code class="descname">refresh</code><span class="sig-paren">(</span><span class="optional">[</span><em>pminrow</em>, <em>pmincol</em>, <em>sminrow</em>, <em>smincol</em>, <em>smaxrow</em>, <em>smaxcol</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-530">立即更新显示(与以前的绘图/删除方法同步实际屏幕)。</span></p><p><span class="yiyi-st" id="yiyi-531">只有当窗口是使用<a class="reference internal" href="#curses.newpad" title="curses.newpad"><code class="xref py py-func docutils literal"><span class="pre">newpad()</span></code></a>创建的打击垫时,才能指定6个可选参数。</span><span class="yiyi-st" id="yiyi-532">需要额外的参数来指示包含垫和屏幕的部分。</span><span class="yiyi-st" id="yiyi-533"><em>pminrow</em>和<em>pmincol</em>指定要在焊盘中显示的矩形的左上角。</span><span class="yiyi-st" id="yiyi-534"><em>sminrow</em>,<em>smincol</em>,<em>smaxrow</em>和<em>smaxcol</em>指定要在屏幕上显示的矩形的边缘。</span><span class="yiyi-st" id="yiyi-535">由于矩形必须具有相同的大小,因此要在屏幕中显示的矩形的右下角是从屏幕坐标计算出来的。</span><span class="yiyi-st" id="yiyi-536">两个矩形必须完全包含在它们各自的结构中。</span><span class="yiyi-st" id="yiyi-537">将<em>pminrow</em>,<em>pmincol</em>,<em>sminrow</em>或<em>smincol</em>的负值视为零。</span></p></dd></dl><dl class="method"><dt id="curses.window.resize"><span class="yiyi-st" id="yiyi-538"> <code class="descclassname">window.</code><code class="descname">resize</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-539">为curses窗口重新分配存储以将其大小调整为指定的值。</span><span class="yiyi-st" id="yiyi-540">如果任何一个维度大于当前值,则窗口的数据将填充具有当前背景再现的空白(由<a class="reference internal" href="#curses.window.bkgdset" title="curses.window.bkgdset"><code class="xref py py-meth docutils literal"><span class="pre">bkgdset()</span></code></a>设置)合并到其中。</span></p></dd></dl><dl class="method"><dt id="curses.window.scroll"><span class="yiyi-st" id="yiyi-541"> <code class="descclassname">window.</code><code class="descname">scroll</code><span class="sig-paren">(</span><span class="optional">[</span><em>lines=1</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-542">通过<em>行</em>行向上滚动屏幕或滚动区域。</span></p></dd></dl><dl class="method"><dt id="curses.window.scrollok"><span class="yiyi-st" id="yiyi-543"> <code class="descclassname">window.</code><code class="descname">scrollok</code><span class="sig-paren">(</span><em>flag</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-544">控制当窗口的光标离开窗口边界或滚动区域时发生的情况,或者是作为底线上的换行动作的结果,或者是输入最后一行的最后一个字符。</span><span class="yiyi-st" id="yiyi-545">如果<em>flag</em>为false,则光标留在最后一行。</span><span class="yiyi-st" id="yiyi-546">如果<em>flag</em>为true,则窗口向上滚动一行。</span><span class="yiyi-st" id="yiyi-547">请注意,为了获得终端上的物理滚动效果,还需要调用<a class="reference internal" href="#curses.window.idlok" title="curses.window.idlok"><code class="xref py py-meth docutils literal"><span class="pre">idlok()</span></code></a>。</span></p></dd></dl><dl class="method"><dt id="curses.window.setscrreg"><span class="yiyi-st" id="yiyi-548"> <code class="descclassname">window.</code><code class="descname">setscrreg</code><span class="sig-paren">(</span><em>top</em>, <em>bottom</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-549">将行<em>顶部</em>设置为行<em>底部</em>的滚动区域。</span><span class="yiyi-st" id="yiyi-550">所有滚动操作都将在该地区进行。</span></p></dd></dl><dl class="method"><dt id="curses.window.standend"><span class="yiyi-st" id="yiyi-551"> <code class="descclassname">window.</code><code class="descname">standend</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-552">关闭突出特性。</span><span class="yiyi-st" id="yiyi-553">在某些终端上,这具有关闭所有属性的副作用。</span></p></dd></dl><dl class="method"><dt id="curses.window.standout"><span class="yiyi-st" id="yiyi-554"> <code class="descclassname">window.</code><code class="descname">standout</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-555">打开属性<em>A_STANDOUT</em>。</span></p></dd></dl><dl class="method"><dt id="curses.window.subpad"><span class="yiyi-st" id="yiyi-556"> <code class="descclassname">window.</code><code class="descname">subpad</code><span class="sig-paren">(</span><em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-557"> <code class="descclassname">window.</code><code class="descname">subpad</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em>, <em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-558">返回一个子窗口,其左上角在<code class="docutils literal"><span class="pre">(begin_y,</span> <span class="pre">begin_x)</span></code>上,其宽度/高度为<em>ncols T3> / <em> nlines T4>。</em></em></span></p></dd></dl><dl class="method"><dt id="curses.window.subwin"><span class="yiyi-st" id="yiyi-559"> <code class="descclassname">window.</code><code class="descname">subwin</code><span class="sig-paren">(</span><em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-560"> <code class="descclassname">window.</code><code class="descname">subwin</code><span class="sig-paren">(</span><em>nlines</em>, <em>ncols</em>, <em>begin_y</em>, <em>begin_x</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-561">返回一个子窗口,其左上角在<code class="docutils literal"><span class="pre">(begin_y,</span> <span class="pre">begin_x)</span></code>上,其宽度/高度为<em>ncols T3> / <em> nlines T4>。</em></em></span></p><p><span class="yiyi-st" id="yiyi-562">默认情况下,子窗口将从指定位置延伸到窗口的右下角。</span></p></dd></dl><dl class="method"><dt id="curses.window.syncdown"><span class="yiyi-st" id="yiyi-563"> <code class="descclassname">window.</code><code class="descname">syncdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-564">触摸在任何祖先窗口中被触摸的窗口中的每个位置。</span><span class="yiyi-st" id="yiyi-565">这个例程由<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>调用,所以几乎不需要手动调用它。</span></p></dd></dl><dl class="method"><dt id="curses.window.syncok"><span class="yiyi-st" id="yiyi-566"> <code class="descclassname">window.</code><code class="descname">syncok</code><span class="sig-paren">(</span><em>flag</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-567">如果<em>flag</em>设置为<code class="docutils literal"><span class="pre">True</span></code>,那么只要窗口发生变化,就会自动调用<a class="reference internal" href="#curses.window.syncup" title="curses.window.syncup"><code class="xref py py-meth docutils literal"><span class="pre">syncup()</span></code></a>。</span></p></dd></dl><dl class="method"><dt id="curses.window.syncup"><span class="yiyi-st" id="yiyi-568"> <code class="descclassname">window.</code><code class="descname">syncup</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-569">触摸窗口中已更改的窗口祖先中的所有位置。</span></p></dd></dl><dl class="method"><dt id="curses.window.timeout"><span class="yiyi-st" id="yiyi-570"> <code class="descclassname">window.</code><code class="descname">timeout</code><span class="sig-paren">(</span><em>delay</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-571">为窗口设置阻止或非阻止读取行为。</span><span class="yiyi-st" id="yiyi-572">如果<em>delay</em>为负数,则使用阻塞读取(将无限期等待输入)。</span><span class="yiyi-st" id="yiyi-573">如果<em>delay</em>为零,则使用非阻塞读取,如果没有输入正在等待,则返回-1将由<a class="reference internal" href="#curses.window.getch" title="curses.window.getch"><code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code></a>返回。</span><span class="yiyi-st" id="yiyi-574">如果<em>延迟</em>为正数,那么<a class="reference internal" href="#curses.window.getch" title="curses.window.getch"><code class="xref py py-meth docutils literal"><span class="pre">getch()</span></code></a>将在<em>延迟</em>毫秒内阻塞,如果在末尾没有输入,则返回-1那时。</span></p></dd></dl><dl class="method"><dt id="curses.window.touchline"><span class="yiyi-st" id="yiyi-575"> <code class="descclassname">window.</code><code class="descname">touchline</code><span class="sig-paren">(</span><em>start</em>, <em>count</em><span class="optional">[</span>, <em>changed</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-576">假设<em>count</em>行已更改,从行<em>开始</em>开始。</span><span class="yiyi-st" id="yiyi-577">如果提供了<em>变更</em>,它将指定受影响的行是否被标记为已更改(<em>更改</em> = 1)或未更改(<em>更改</em> = 0) 。</span></p></dd></dl><dl class="method"><dt id="curses.window.touchwin"><span class="yiyi-st" id="yiyi-578"> <code class="descclassname">window.</code><code class="descname">touchwin</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-579">为了绘制优化目的,假设整个窗口已经被更改。</span></p></dd></dl><dl class="method"><dt id="curses.window.untouchwin"><span class="yiyi-st" id="yiyi-580"> <code class="descclassname">window.</code><code class="descname">untouchwin</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-581">自上次调用<a class="reference internal" href="#curses.window.refresh" title="curses.window.refresh"><code class="xref py py-meth docutils literal"><span class="pre">refresh()</span></code></a>后,将窗口中的所有行标记为未更改。</span></p></dd></dl><dl class="method"><dt id="curses.window.vline"><span class="yiyi-st" id="yiyi-582"> <code class="descclassname">window.</code><code class="descname">vline</code><span class="sig-paren">(</span><em>ch</em>, <em>n</em><span class="sig-paren">)</span></span></dt><dt><span class="yiyi-st" id="yiyi-583"> <code class="descclassname">window.</code><code class="descname">vline</code><span class="sig-paren">(</span><em>y</em>, <em>x</em>, <em>ch</em>, <em>n</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-584">Display a vertical line starting at <code class="docutils literal"><span class="pre">(y,</span> <span class="pre">x)</span></code> with length <em>n</em> consisting of the character <em>ch</em>.</span></p></dd></dl></div><div class="section" id="constants"><h2><span class="yiyi-st" id="yiyi-585">16.10.3. </span><span class="yiyi-st" id="yiyi-586">常量</span></h2><p><span class="yiyi-st" id="yiyi-587"><a class="reference internal" href="#module-curses" title="curses: An interface to the curses library, providing portable terminal handling. (Unix)"><code class="xref py py-mod docutils literal"><span class="pre">curses</span></code></a>模块定义了以下数据成员:</span></p><dl class="data"><dt id="curses.ERR"><span class="yiyi-st" id="yiyi-588"> <code class="descclassname">curses.</code><code class="descname">ERR</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-589">某些返回整数的curses例程(如<code class="xref py py-func docutils literal"><span class="pre">getch()</span></code>)会在失败时返回<a class="reference internal" href="#curses.ERR" title="curses.ERR"><code class="xref py py-const docutils literal"><span class="pre">ERR</span></code></a>。</span></p></dd></dl><dl class="data"><dt id="curses.OK"><span class="yiyi-st" id="yiyi-590"> <code class="descclassname">curses.</code><code class="descname">OK</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-591">某些返回整数的curses例程(如<a class="reference internal" href="#curses.napms" title="curses.napms"><code class="xref py py-func docutils literal"><span class="pre">napms()</span></code></a>)会在成功时返回<a class="reference internal" href="#curses.OK" title="curses.OK"><code class="xref py py-const docutils literal"><span class="pre">OK</span></code></a>。</span></p></dd></dl><dl class="data"><dt id="curses.version"><span class="yiyi-st" id="yiyi-592"> <code class="descclassname">curses.</code><code class="descname">version</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-593">代表模块当前版本的字符串。</span><span class="yiyi-st" id="yiyi-594">也可用作<code class="xref py py-const docutils literal"><span class="pre">__version__</span></code>。</span></p></dd></dl><p><span class="yiyi-st" id="yiyi-595">有几个常量可用于指定字符单元属性:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-596">属性</span></th><th class="head"><span class="yiyi-st" id="yiyi-597">含义</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-598"><code class="docutils literal"><span class="pre">A_ALTCHARSET</span></code></span></td><td><span class="yiyi-st" id="yiyi-599">备用字符集模式。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-600"><code class="docutils literal"><span class="pre">A_BLINK</span></code></span></td><td><span class="yiyi-st" id="yiyi-601">闪烁模式。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-602"><code class="docutils literal"><span class="pre">A_BOLD</span></code></span></td><td><span class="yiyi-st" id="yiyi-603">粗体模式。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-604"><code class="docutils literal"><span class="pre">A_DIM</span></code></span></td><td><span class="yiyi-st" id="yiyi-605">暗淡模式。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-606"><code class="docutils literal"><span class="pre">A_NORMAL</span></code></span></td><td><span class="yiyi-st" id="yiyi-607">普通属性。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-608"><code class="docutils literal"><span class="pre">A_REVERSE</span></code></span></td><td><span class="yiyi-st" id="yiyi-609">反向背景和前景色。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-610"><code class="docutils literal"><span class="pre">A_STANDOUT</span></code></span></td><td><span class="yiyi-st" id="yiyi-611">突出模式。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-612"><code class="docutils literal"><span class="pre">A_UNDERLINE</span></code></span></td><td><span class="yiyi-st" id="yiyi-613">下划线模式。</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-614">键由整数常量引用,名称以<code class="docutils literal"><span class="pre">KEY_</span></code>开头。</span><span class="yiyi-st" id="yiyi-615">可用的确切键帽取决于系统。</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-616">关键常数</span></th><th class="head"><span class="yiyi-st" id="yiyi-617">键</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-618"><code class="docutils literal"><span class="pre">KEY_MIN</span></code></span></td><td><span class="yiyi-st" id="yiyi-619">最小键值</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-620"><code class="docutils literal"><span class="pre">KEY_BREAK</span></code></span></td><td><span class="yiyi-st" id="yiyi-621">断开键(不可靠)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-622"><code class="docutils literal"><span class="pre">KEY_DOWN</span></code></span></td><td><span class="yiyi-st" id="yiyi-623">向下箭头</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-624"><code class="docutils literal"><span class="pre">KEY_UP</span></code></span></td><td><span class="yiyi-st" id="yiyi-625">向上箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-626"><code class="docutils literal"><span class="pre">KEY_LEFT</span></code></span></td><td><span class="yiyi-st" id="yiyi-627">左箭头</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-628"><code class="docutils literal"><span class="pre">KEY_RIGHT</span></code></span></td><td><span class="yiyi-st" id="yiyi-629">右箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-630"><code class="docutils literal"><span class="pre">KEY_HOME</span></code></span></td><td><span class="yiyi-st" id="yiyi-631">主页键(向上+左箭头)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-632"><code class="docutils literal"><span class="pre">KEY_BACKSPACE</span></code></span></td><td><span class="yiyi-st" id="yiyi-633">退格(不可靠)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-634"><code class="docutils literal"><span class="pre">KEY_F0</span></code></span></td><td><span class="yiyi-st" id="yiyi-635">功能键。</span><span class="yiyi-st" id="yiyi-636">最多支持64个功能键。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-637"><code class="docutils literal"><span class="pre">KEY_Fn</span></code></span></td><td><span class="yiyi-st" id="yiyi-638">功能键的值<em>n</em></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-639"><code class="docutils literal"><span class="pre">KEY_DL</span></code></span></td><td><span class="yiyi-st" id="yiyi-640">删除线</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-641"><code class="docutils literal"><span class="pre">KEY_IL</span></code></span></td><td><span class="yiyi-st" id="yiyi-642">插入行</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-643"><code class="docutils literal"><span class="pre">KEY_DC</span></code></span></td><td><span class="yiyi-st" id="yiyi-644">删除字符</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-645"><code class="docutils literal"><span class="pre">KEY_IC</span></code></span></td><td><span class="yiyi-st" id="yiyi-646">插入字符或进入插入模式</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-647"><code class="docutils literal"><span class="pre">KEY_EIC</span></code></span></td><td><span class="yiyi-st" id="yiyi-648">退出插入字符模式</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-649"><code class="docutils literal"><span class="pre">KEY_CLEAR</span></code></span></td><td><span class="yiyi-st" id="yiyi-650">清除屏幕</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-651"><code class="docutils literal"><span class="pre">KEY_EOS</span></code></span></td><td><span class="yiyi-st" id="yiyi-652">清除屏幕结束</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-653"><code class="docutils literal"><span class="pre">KEY_EOL</span></code></span></td><td><span class="yiyi-st" id="yiyi-654">清除到行尾</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-655"><code class="docutils literal"><span class="pre">KEY_SF</span></code></span></td><td><span class="yiyi-st" id="yiyi-656">向前滚动1行</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-657"><code class="docutils literal"><span class="pre">KEY_SR</span></code></span></td><td><span class="yiyi-st" id="yiyi-658">向后滚动1行(反向)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-659"><code class="docutils literal"><span class="pre">KEY_NPAGE</span></code></span></td><td><span class="yiyi-st" id="yiyi-660">下一页</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-661"><code class="docutils literal"><span class="pre">KEY_PPAGE</span></code></span></td><td><span class="yiyi-st" id="yiyi-662">上一页</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-663"><code class="docutils literal"><span class="pre">KEY_STAB</span></code></span></td><td><span class="yiyi-st" id="yiyi-664">设置选项卡</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-665"><code class="docutils literal"><span class="pre">KEY_CTAB</span></code></span></td><td><span class="yiyi-st" id="yiyi-666">清除选项卡</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-667"><code class="docutils literal"><span class="pre">KEY_CATAB</span></code></span></td><td><span class="yiyi-st" id="yiyi-668">清除所有标签</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-669"><code class="docutils literal"><span class="pre">KEY_ENTER</span></code></span></td><td><span class="yiyi-st" id="yiyi-670">输入或发送(不可靠)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-671"><code class="docutils literal"><span class="pre">KEY_SRESET</span></code></span></td><td><span class="yiyi-st" id="yiyi-672">软(部分)重置(不可靠)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-673"><code class="docutils literal"><span class="pre">KEY_RESET</span></code></span></td><td><span class="yiyi-st" id="yiyi-674">重置或硬重置(不可靠)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-675"><code class="docutils literal"><span class="pre">KEY_PRINT</span></code></span></td><td><span class="yiyi-st" id="yiyi-676">打印</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-677"><code class="docutils literal"><span class="pre">KEY_LL</span></code></span></td><td><span class="yiyi-st" id="yiyi-678">首页向下或向下(左下)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-679"><code class="docutils literal"><span class="pre">KEY_A1</span></code></span></td><td><span class="yiyi-st" id="yiyi-680">键盘左上角</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-681"><code class="docutils literal"><span class="pre">KEY_A3</span></code></span></td><td><span class="yiyi-st" id="yiyi-682">键盘右上方</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-683"><code class="docutils literal"><span class="pre">KEY_B2</span></code></span></td><td><span class="yiyi-st" id="yiyi-684">键盘中心</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-685"><code class="docutils literal"><span class="pre">KEY_C1</span></code></span></td><td><span class="yiyi-st" id="yiyi-686">键盘左下方</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-687"><code class="docutils literal"><span class="pre">KEY_C3</span></code></span></td><td><span class="yiyi-st" id="yiyi-688">键盘右下方</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-689"><code class="docutils literal"><span class="pre">KEY_BTAB</span></code></span></td><td><span class="yiyi-st" id="yiyi-690">后退标签</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-691"><code class="docutils literal"><span class="pre">KEY_BEG</span></code></span></td><td><span class="yiyi-st" id="yiyi-692">Beg(开始)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-693"><code class="docutils literal"><span class="pre">KEY_CANCEL</span></code></span></td><td><span class="yiyi-st" id="yiyi-694">取消</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-695"><code class="docutils literal"><span class="pre">KEY_CLOSE</span></code></span></td><td><span class="yiyi-st" id="yiyi-696">关</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-697"><code class="docutils literal"><span class="pre">KEY_COMMAND</span></code></span></td><td><span class="yiyi-st" id="yiyi-698">命令(命令)</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-699"><code class="docutils literal"><span class="pre">KEY_COPY</span></code></span></td><td><span class="yiyi-st" id="yiyi-700">复制</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-701"><code class="docutils literal"><span class="pre">KEY_CREATE</span></code></span></td><td><span class="yiyi-st" id="yiyi-702">创建</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-703"><code class="docutils literal"><span class="pre">KEY_END</span></code></span></td><td><span class="yiyi-st" id="yiyi-704">结束</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-705"><code class="docutils literal"><span class="pre">KEY_EXIT</span></code></span></td><td><span class="yiyi-st" id="yiyi-706">出口</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-707"><code class="docutils literal"><span class="pre">KEY_FIND</span></code></span></td><td><span class="yiyi-st" id="yiyi-708">找</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-709"><code class="docutils literal"><span class="pre">KEY_HELP</span></code></span></td><td><span class="yiyi-st" id="yiyi-710">HELP</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-711"><code class="docutils literal"><span class="pre">KEY_MARK</span></code></span></td><td><span class="yiyi-st" id="yiyi-712">标记</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-713"><code class="docutils literal"><span class="pre">KEY_MESSAGE</span></code></span></td><td><span class="yiyi-st" id="yiyi-714">信息</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-715"><code class="docutils literal"><span class="pre">KEY_MOVE</span></code></span></td><td><span class="yiyi-st" id="yiyi-716">移动</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-717"><code class="docutils literal"><span class="pre">KEY_NEXT</span></code></span></td><td><span class="yiyi-st" id="yiyi-718">下一个</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-719"><code class="docutils literal"><span class="pre">KEY_OPEN</span></code></span></td><td><span class="yiyi-st" id="yiyi-720">打开</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-721"><code class="docutils literal"><span class="pre">KEY_OPTIONS</span></code></span></td><td><span class="yiyi-st" id="yiyi-722">选项</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-723"><code class="docutils literal"><span class="pre">KEY_PREVIOUS</span></code></span></td><td><span class="yiyi-st" id="yiyi-724">上一个(上一个)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-725"><code class="docutils literal"><span class="pre">KEY_REDO</span></code></span></td><td><span class="yiyi-st" id="yiyi-726">重做</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-727"><code class="docutils literal"><span class="pre">KEY_REFERENCE</span></code></span></td><td><span class="yiyi-st" id="yiyi-728">参考(参考)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-729"><code class="docutils literal"><span class="pre">KEY_REFRESH</span></code></span></td><td><span class="yiyi-st" id="yiyi-730">刷新</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-731"><code class="docutils literal"><span class="pre">KEY_REPLACE</span></code></span></td><td><span class="yiyi-st" id="yiyi-732">更换</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-733"><code class="docutils literal"><span class="pre">KEY_RESTART</span></code></span></td><td><span class="yiyi-st" id="yiyi-734">重新开始</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-735"><code class="docutils literal"><span class="pre">KEY_RESUME</span></code></span></td><td><span class="yiyi-st" id="yiyi-736">恢复</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-737"><code class="docutils literal"><span class="pre">KEY_SAVE</span></code></span></td><td><span class="yiyi-st" id="yiyi-738">保存</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-739"><code class="docutils literal"><span class="pre">KEY_SBEG</span></code></span></td><td><span class="yiyi-st" id="yiyi-740">Shifted Beg(开始)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-741"><code class="docutils literal"><span class="pre">KEY_SCANCEL</span></code></span></td><td><span class="yiyi-st" id="yiyi-742">移动取消</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-743"><code class="docutils literal"><span class="pre">KEY_SCOMMAND</span></code></span></td><td><span class="yiyi-st" id="yiyi-744">转移命令</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-745"><code class="docutils literal"><span class="pre">KEY_SCOPY</span></code></span></td><td><span class="yiyi-st" id="yiyi-746">转移拷贝</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-747"><code class="docutils literal"><span class="pre">KEY_SCREATE</span></code></span></td><td><span class="yiyi-st" id="yiyi-748">转移创建</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-749"><code class="docutils literal"><span class="pre">KEY_SDC</span></code></span></td><td><span class="yiyi-st" id="yiyi-750">转移删除字符</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-751"><code class="docutils literal"><span class="pre">KEY_SDL</span></code></span></td><td><span class="yiyi-st" id="yiyi-752">移动删除线</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-753"><code class="docutils literal"><span class="pre">KEY_SELECT</span></code></span></td><td><span class="yiyi-st" id="yiyi-754">选择</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-755"><code class="docutils literal"><span class="pre">KEY_SEND</span></code></span></td><td><span class="yiyi-st" id="yiyi-756">转移结束</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-757"><code class="docutils literal"><span class="pre">KEY_SEOL</span></code></span></td><td><span class="yiyi-st" id="yiyi-758">转移清除线</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-759"><code class="docutils literal"><span class="pre">KEY_SEXIT</span></code></span></td><td><span class="yiyi-st" id="yiyi-760">转移Dxit</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-761"><code class="docutils literal"><span class="pre">KEY_SFIND</span></code></span></td><td><span class="yiyi-st" id="yiyi-762">转移查找</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-763"><code class="docutils literal"><span class="pre">KEY_SHELP</span></code></span></td><td><span class="yiyi-st" id="yiyi-764">转移帮助</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-765"><code class="docutils literal"><span class="pre">KEY_SHOME</span></code></span></td><td><span class="yiyi-st" id="yiyi-766">转移的家</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-767"><code class="docutils literal"><span class="pre">KEY_SIC</span></code></span></td><td><span class="yiyi-st" id="yiyi-768">转移输入</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-769"><code class="docutils literal"><span class="pre">KEY_SLEFT</span></code></span></td><td><span class="yiyi-st" id="yiyi-770">移动左箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-771"><code class="docutils literal"><span class="pre">KEY_SMESSAGE</span></code></span></td><td><span class="yiyi-st" id="yiyi-772">转移消息</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-773"><code class="docutils literal"><span class="pre">KEY_SMOVE</span></code></span></td><td><span class="yiyi-st" id="yiyi-774">移动移动</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-775"><code class="docutils literal"><span class="pre">KEY_SNEXT</span></code></span></td><td><span class="yiyi-st" id="yiyi-776">向下移动</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-777"><code class="docutils literal"><span class="pre">KEY_SOPTIONS</span></code></span></td><td><span class="yiyi-st" id="yiyi-778">转移选项</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-779"><code class="docutils literal"><span class="pre">KEY_SPREVIOUS</span></code></span></td><td><span class="yiyi-st" id="yiyi-780">上移</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-781"><code class="docutils literal"><span class="pre">KEY_SPRINT</span></code></span></td><td><span class="yiyi-st" id="yiyi-782">转移打印</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-783"><code class="docutils literal"><span class="pre">KEY_SREDO</span></code></span></td><td><span class="yiyi-st" id="yiyi-784">转移重做</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-785"><code class="docutils literal"><span class="pre">KEY_SREPLACE</span></code></span></td><td><span class="yiyi-st" id="yiyi-786">移位替换</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-787"><code class="docutils literal"><span class="pre">KEY_SRIGHT</span></code></span></td><td><span class="yiyi-st" id="yiyi-788">移动右箭头</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-789"><code class="docutils literal"><span class="pre">KEY_SRSUME</span></code></span></td><td><span class="yiyi-st" id="yiyi-790">转移的简历</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-791"><code class="docutils literal"><span class="pre">KEY_SSAVE</span></code></span></td><td><span class="yiyi-st" id="yiyi-792">转移保存</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-793"><code class="docutils literal"><span class="pre">KEY_SSUSPEND</span></code></span></td><td><span class="yiyi-st" id="yiyi-794">转移暂停</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-795"><code class="docutils literal"><span class="pre">KEY_SUNDO</span></code></span></td><td><span class="yiyi-st" id="yiyi-796">移动撤消</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-797"><code class="docutils literal"><span class="pre">KEY_SUSPEND</span></code></span></td><td><span class="yiyi-st" id="yiyi-798">暂停</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-799"><code class="docutils literal"><span class="pre">KEY_UNDO</span></code></span></td><td><span class="yiyi-st" id="yiyi-800">撤消</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-801"><code class="docutils literal"><span class="pre">KEY_MOUSE</span></code></span></td><td><span class="yiyi-st" id="yiyi-802">鼠标事件已发生</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-803"><code class="docutils literal"><span class="pre">KEY_RESIZE</span></code></span></td><td><span class="yiyi-st" id="yiyi-804">终端调整大小事件</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-805"><code class="docutils literal"><span class="pre">KEY_MAX</span></code></span></td><td><span class="yiyi-st" id="yiyi-806">最大键值</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-807">On VT100s and their software emulations, such as X terminal emulators, there are normally at least four function keys (<code class="xref py py-const docutils literal"><span class="pre">KEY_F1</span></code>, <code class="xref py py-const docutils literal"><span class="pre">KEY_F2</span></code>, <code class="xref py py-const docutils literal"><span class="pre">KEY_F3</span></code>, <code class="xref py py-const docutils literal"><span class="pre">KEY_F4</span></code>) available, and the arrow keys mapped to <code class="xref py py-const docutils literal"><span class="pre">KEY_UP</span></code>, <code class="xref py py-const docutils literal"><span class="pre">KEY_DOWN</span></code>, <code class="xref py py-const docutils literal"><span class="pre">KEY_LEFT</span></code> and <code class="xref py py-const docutils literal"><span class="pre">KEY_RIGHT</span></code> in the obvious way. </span><span class="yiyi-st" id="yiyi-808">如果您的机器具有PC键盘,则可以安全地使用箭头键和十二个功能键(较旧的PC键盘可能只有十个功能键);此外,以下键盘映射也是标准配置:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-809">键帽</span></th><th class="head"><span class="yiyi-st" id="yiyi-810">不变</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-811"><code class="kbd docutils literal"><span class="pre">Insert</span></code></span></td><td><span class="yiyi-st" id="yiyi-812">KEY_IC</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-813"><code class="kbd docutils literal"><span class="pre">Delete</span></code></span></td><td><span class="yiyi-st" id="yiyi-814">KEY_DC</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-815"><code class="kbd docutils literal"><span class="pre">Home</span></code></span></td><td><span class="yiyi-st" id="yiyi-816">KEY_HOME</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-817"><code class="kbd docutils literal"><span class="pre">End</span></code></span></td><td><span class="yiyi-st" id="yiyi-818">KEY_END</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-819"><code class="kbd docutils literal"><span class="pre">页</span> <span class="pre">向上</span></code></span></td><td><span class="yiyi-st" id="yiyi-820">KEY_PPAGE</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-821"><code class="kbd docutils literal"><span class="pre">页</span> <span class="pre">向下</span></code></span></td><td><span class="yiyi-st" id="yiyi-822">KEY_NPAGE</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-823">下表列出了备用字符集中的字符。</span><span class="yiyi-st" id="yiyi-824">这些是从VT100终端继承的,并且通常可用于诸如X终端的软件仿真。</span><span class="yiyi-st" id="yiyi-825">当没有图形可用时,curses会回到粗糙的可打印ASCII近似值。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-826">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-827">这些仅在调用<a class="reference internal" href="#curses.initscr" title="curses.initscr"><code class="xref py py-func docutils literal"><span class="pre">initscr()</span></code></a>后才可用。</span></p></div><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-828">ACS代码</span></th><th class="head"><span class="yiyi-st" id="yiyi-829">含义</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-830"><code class="docutils literal"><span class="pre">ACS_BBSS</span></code></span></td><td><span class="yiyi-st" id="yiyi-831">右上角的替代名称</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-832"><code class="docutils literal"><span class="pre">ACS_BLOCK</span></code></span></td><td><span class="yiyi-st" id="yiyi-833">实心方块</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-834"><code class="docutils literal"><span class="pre">ACS_BOARD</span></code></span></td><td><span class="yiyi-st" id="yiyi-835">董事会的正方形</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-836"><code class="docutils literal"><span class="pre">ACS_BSBS</span></code></span></td><td><span class="yiyi-st" id="yiyi-837">水平线的替代名称</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-838"><code class="docutils literal"><span class="pre">ACS_BSSB</span></code></span></td><td><span class="yiyi-st" id="yiyi-839">左上角的替代名称</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-840"><code class="docutils literal"><span class="pre">ACS_BSSS</span></code></span></td><td><span class="yiyi-st" id="yiyi-841">顶部T恤的替代名称</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-842"><code class="docutils literal"><span class="pre">ACS_BTEE</span></code></span></td><td><span class="yiyi-st" id="yiyi-843">底部三通</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-844"><code class="docutils literal"><span class="pre">ACS_BULLET</span></code></span></td><td><span class="yiyi-st" id="yiyi-845">子弹</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-846"><code class="docutils literal"><span class="pre">ACS_CKBOARD</span></code></span></td><td><span class="yiyi-st" id="yiyi-847">棋盘(点画)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-848"><code class="docutils literal"><span class="pre">ACS_DARROW</span></code></span></td><td><span class="yiyi-st" id="yiyi-849">指向下的箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-850"><code class="docutils literal"><span class="pre">ACS_DEGREE</span></code></span></td><td><span class="yiyi-st" id="yiyi-851">学位标志</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-852"><code class="docutils literal"><span class="pre">ACS_DIAMOND</span></code></span></td><td><span class="yiyi-st" id="yiyi-853">钻石</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-854"><code class="docutils literal"><span class="pre">ACS_GEQUAL</span></code></span></td><td><span class="yiyi-st" id="yiyi-855">大于或 - 等于对</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-856"><code class="docutils literal"><span class="pre">ACS_HLINE</span></code></span></td><td><span class="yiyi-st" id="yiyi-857">水平线</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-858"><code class="docutils literal"><span class="pre">ACS_LANTERN</span></code></span></td><td><span class="yiyi-st" id="yiyi-859">灯笼符号</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-860"><code class="docutils literal"><span class="pre">ACS_LARROW</span></code></span></td><td><span class="yiyi-st" id="yiyi-861">左箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-862"><code class="docutils literal"><span class="pre">ACS_LEQUAL</span></code></span></td><td><span class="yiyi-st" id="yiyi-863">低于或相等到</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-864"><code class="docutils literal"><span class="pre">ACS_LLCORNER</span></code></span></td><td><span class="yiyi-st" id="yiyi-865">左下角</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-866"><code class="docutils literal"><span class="pre">ACS_LRCORNER</span></code></span></td><td><span class="yiyi-st" id="yiyi-867">右下角</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-868"><code class="docutils literal"><span class="pre">ACS_LTEE</span></code></span></td><td><span class="yiyi-st" id="yiyi-869">左发球</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-870"><code class="docutils literal"><span class="pre">ACS_NEQUAL</span></code></span></td><td><span class="yiyi-st" id="yiyi-871">不等号</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-872"><code class="docutils literal"><span class="pre">ACS_PI</span></code></span></td><td><span class="yiyi-st" id="yiyi-873">字母pi</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-874"><code class="docutils literal"><span class="pre">ACS_PLMINUS</span></code></span></td><td><span class="yiyi-st" id="yiyi-875">加号或减号</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-876"><code class="docutils literal"><span class="pre">ACS_PLUS</span></code></span></td><td><span class="yiyi-st" id="yiyi-877">大加号</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-878"><code class="docutils literal"><span class="pre">ACS_RARROW</span></code></span></td><td><span class="yiyi-st" id="yiyi-879">右箭头</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-880"><code class="docutils literal"><span class="pre">ACS_RTEE</span></code></span></td><td><span class="yiyi-st" id="yiyi-881">正确的发球台</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-882"><code class="docutils literal"><span class="pre">ACS_S1</span></code></span></td><td><span class="yiyi-st" id="yiyi-883">扫描线1</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-884"><code class="docutils literal"><span class="pre">ACS_S3</span></code></span></td><td><span class="yiyi-st" id="yiyi-885">扫描线3</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-886"><code class="docutils literal"><span class="pre">ACS_S7</span></code></span></td><td><span class="yiyi-st" id="yiyi-887">扫描线7</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-888"><code class="docutils literal"><span class="pre">ACS_S9</span></code></span></td><td><span class="yiyi-st" id="yiyi-889">扫描线9</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-890"><code class="docutils literal"><span class="pre">ACS_SBBS</span></code></span></td><td><span class="yiyi-st" id="yiyi-891">右下角的替代名称</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-892"><code class="docutils literal"><span class="pre">ACS_SBSB</span></code></span></td><td><span class="yiyi-st" id="yiyi-893">垂直线的替代名称</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-894"><code class="docutils literal"><span class="pre">ACS_SBSS</span></code></span></td><td><span class="yiyi-st" id="yiyi-895">右T恤的替代名称</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-896"><code class="docutils literal"><span class="pre">ACS_SSBB</span></code></span></td><td><span class="yiyi-st" id="yiyi-897">左下角的替代名称</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-898"><code class="docutils literal"><span class="pre">ACS_SSBS</span></code></span></td><td><span class="yiyi-st" id="yiyi-899">底部三通的替代名称</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-900"><code class="docutils literal"><span class="pre">ACS_SSSB</span></code></span></td><td><span class="yiyi-st" id="yiyi-901">左T恤的替代名称</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-902"><code class="docutils literal"><span class="pre">ACS_SSSS</span></code></span></td><td><span class="yiyi-st" id="yiyi-903">交叉名称或大加号</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-904"><code class="docutils literal"><span class="pre">ACS_STERLING</span></code></span></td><td><span class="yiyi-st" id="yiyi-905">英镑</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-906"><code class="docutils literal"><span class="pre">ACS_TTEE</span></code></span></td><td><span class="yiyi-st" id="yiyi-907">顶级球座</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-908"><code class="docutils literal"><span class="pre">ACS_UARROW</span></code></span></td><td><span class="yiyi-st" id="yiyi-909">向上箭头</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-910"><code class="docutils literal"><span class="pre">ACS_ULCORNER</span></code></span></td><td><span class="yiyi-st" id="yiyi-911">左上角</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-912"><code class="docutils literal"><span class="pre">ACS_URCORNER</span></code></span></td><td><span class="yiyi-st" id="yiyi-913">右上角</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-914"><code class="docutils literal"><span class="pre">ACS_VLINE</span></code></span></td><td><span class="yiyi-st" id="yiyi-915">垂线</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-916">下表列出了预定义的颜色:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-917">不变</span></th><th class="head"><span class="yiyi-st" id="yiyi-918">color(颜色)</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-919"><code class="docutils literal"><span class="pre">COLOR_BLACK</span></code></span></td><td><span class="yiyi-st" id="yiyi-920">黑色</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-921"><code class="docutils literal"><span class="pre">COLOR_BLUE</span></code></span></td><td><span class="yiyi-st" id="yiyi-922">蓝色</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-923"><code class="docutils literal"><span class="pre">COLOR_CYAN</span></code></span></td><td><span class="yiyi-st" id="yiyi-924">青色(浅绿蓝色)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-925"><code class="docutils literal"><span class="pre">COLOR_GREEN</span></code></span></td><td><span class="yiyi-st" id="yiyi-926">绿色</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-927"><code class="docutils literal"><span class="pre">COLOR_MAGENTA</span></code></span></td><td><span class="yiyi-st" id="yiyi-928">洋红色(紫红色)</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-929"><code class="docutils literal"><span class="pre">COLOR_RED</span></code></span></td><td><span class="yiyi-st" id="yiyi-930">红</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-931"><code class="docutils literal"><span class="pre">COLOR_WHITE</span></code></span></td><td><span class="yiyi-st" id="yiyi-932">白色</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-933"><code class="docutils literal"><span class="pre">COLOR_YELLOW</span></code></span></td><td><span class="yiyi-st" id="yiyi-934">黄色</span></td></tr></tbody></table></div></div><div class="section" id="module-curses.textpad"><h1><span class="yiyi-st" id="yiyi-935">16.11. <a class="reference internal" href="#module-curses.textpad" title="curses.textpad: Emacs-like input editing in a curses window."><code class="xref py py-mod docutils literal"><span class="pre">curses.textpad</span></code></a> - 用于curses程序的文本输入小部件</span></h1><p><span class="yiyi-st" id="yiyi-936"><a class="reference internal" href="#module-curses.textpad" title="curses.textpad: Emacs-like input editing in a curses window."><code class="xref py py-mod docutils literal"><span class="pre">curses.textpad</span></code></a>模块提供了一个<a class="reference internal" href="#curses.textpad.Textbox" title="curses.textpad.Textbox"><code class="xref py py-class docutils literal"><span class="pre">Textbox</span></code></a>类,用于处理curses窗口中的基本文本编辑,支持一组类似Emacs的键绑定(因此,也是Netscape Navigator, BBedit 6.x,FrameMaker和许多其他程序)。</span><span class="yiyi-st" id="yiyi-937">该模块还提供了一个矩形绘图功能,可用于框定文本框或用于其他目的。</span></p><p><span class="yiyi-st" id="yiyi-938">模块<a class="reference internal" href="#module-curses.textpad" title="curses.textpad: Emacs-like input editing in a curses window."><code class="xref py py-mod docutils literal"><span class="pre">curses.textpad</span></code></a>定义了以下函数:</span></p><dl class="function"><dt id="curses.textpad.rectangle"><span class="yiyi-st" id="yiyi-939"> <code class="descclassname">curses.textpad.</code><code class="descname">rectangle</code><span class="sig-paren">(</span><em>win</em>, <em>uly</em>, <em>ulx</em>, <em>lry</em>, <em>lrx</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-940">绘制一个矩形。</span><span class="yiyi-st" id="yiyi-941">第一个参数必须是一个窗口对象;其余的参数是相对于该窗口的坐标。</span><span class="yiyi-st" id="yiyi-942">第二个和第三个参数是要绘制的矩形左上角的y和x坐标;第四个和第五个参数是右下角的y和x坐标。</span><span class="yiyi-st" id="yiyi-943">矩形将在终端上使用VT100 / IBM PC形式字符进行绘制(包括xterm和大多数其他软件终端仿真器)。</span><span class="yiyi-st" id="yiyi-944">否则,它将用ASCII破折号,垂直条和加号绘制。</span></p></dd></dl><div class="section" id="textbox-objects"><h2><span class="yiyi-st" id="yiyi-945">16.11.1. </span><span class="yiyi-st" id="yiyi-946">文本框对象</span></h2><p><span class="yiyi-st" id="yiyi-947">您可以按如下方式实例化一个<a class="reference internal" href="#curses.textpad.Textbox" title="curses.textpad.Textbox"><code class="xref py py-class docutils literal"><span class="pre">Textbox</span></code></a>对象:</span></p><dl class="class"><dt id="curses.textpad.Textbox"><span class="yiyi-st" id="yiyi-948"> <em class="property">class </em><code class="descclassname">curses.textpad.</code><code class="descname">Textbox</code><span class="sig-paren">(</span><em>win</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-949">返回一个文本框小部件对象。</span><span class="yiyi-st" id="yiyi-950"><em>win</em>参数应该是一个包含文本框的curses <code class="xref py py-class docutils literal"><span class="pre">WindowObject</span></code>。</span><span class="yiyi-st" id="yiyi-951">文本框的编辑光标最初位于包含窗口的左上角,坐标为<code class="docutils literal"><span class="pre">(0,</span> <span class="pre">0)</span></code>。</span><span class="yiyi-st" id="yiyi-952">实例的<a class="reference internal" href="#curses.textpad.Textbox.stripspaces" title="curses.textpad.Textbox.stripspaces"><code class="xref py py-attr docutils literal"><span class="pre">stripspaces</span></code></a>标志最初处于打开状态。</span></p><p><span class="yiyi-st" id="yiyi-953"><a class="reference internal" href="#curses.textpad.Textbox" title="curses.textpad.Textbox"><code class="xref py py-class docutils literal"><span class="pre">Textbox</span></code></a>对象具有以下方法:</span></p><dl class="method"><dt id="curses.textpad.Textbox.edit"><span class="yiyi-st" id="yiyi-954"> <code class="descname">edit</code><span class="sig-paren">(</span><span class="optional">[</span><em>validator</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-955">这是您通常使用的入口点。</span><span class="yiyi-st" id="yiyi-956">它接受编辑键击,直到输入一个终止键击。</span><span class="yiyi-st" id="yiyi-957">如果提供<em>验证器</em>,它必须是一个函数。</span><span class="yiyi-st" id="yiyi-958">将按键输入的每个击键作为参数调用;命令调度是在结果上完成的。</span><span class="yiyi-st" id="yiyi-959">此方法以字符串形式返回窗口内容;是否包含窗口中的空白受<a class="reference internal" href="#curses.textpad.Textbox.stripspaces" title="curses.textpad.Textbox.stripspaces"><code class="xref py py-attr docutils literal"><span class="pre">stripspaces</span></code></a>属性的影响。</span></p></dd></dl><dl class="method"><dt id="curses.textpad.Textbox.do_command"><span class="yiyi-st" id="yiyi-960"> <code class="descname">do_command</code><span class="sig-paren">(</span><em>ch</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-961">处理单个命令按键。</span><span class="yiyi-st" id="yiyi-962">以下是支持的特殊按键:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-963">按键</span></th><th class="head"><span class="yiyi-st" id="yiyi-964">行动</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-965"><code class="kbd docutils literal"><span class="pre">Control-A</span></code></span></td><td><span class="yiyi-st" id="yiyi-966">去窗口的左边缘。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-967"><code class="kbd docutils literal"><span class="pre">Control-B</span></code></span></td><td><span class="yiyi-st" id="yiyi-968">光标离开,如果合适的话,包装到上一行。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-969"><code class="kbd docutils literal"><span class="pre">Control-D</span></code></span></td><td><span class="yiyi-st" id="yiyi-970">删除光标下的字符。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-971"><code class="kbd docutils literal"><span class="pre">Control-E</span></code></span></td><td><span class="yiyi-st" id="yiyi-972">转到右边缘(strippaces off)或行尾(strippaces on)。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-973"><code class="kbd docutils literal"><span class="pre">Control-F</span></code></span></td><td><span class="yiyi-st" id="yiyi-974">正确的光标,适当时包装到下一行。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-975"><code class="kbd docutils literal"><span class="pre">Control-G</span></code></span></td><td><span class="yiyi-st" id="yiyi-976">终止,返回窗口内容。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-977"><code class="kbd docutils literal"><span class="pre">Control-H</span></code></span></td><td><span class="yiyi-st" id="yiyi-978">向后删除字符。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-979"><code class="kbd docutils literal"><span class="pre">Control-J</span></code></span></td><td><span class="yiyi-st" id="yiyi-980">终止,如果窗口是1行,否则插入换行符。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-981"><code class="kbd docutils literal"><span class="pre">Control-K</span></code></span></td><td><span class="yiyi-st" id="yiyi-982">如果行是空白的,删除它,否则清除行结束。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-983"><code class="kbd docutils literal"><span class="pre">Control-L</span></code></span></td><td><span class="yiyi-st" id="yiyi-984">刷新屏幕。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-985"><code class="kbd docutils literal"><span class="pre">Control-N</span></code></span></td><td><span class="yiyi-st" id="yiyi-986">光标下来;向下移动一行。</span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-987"><code class="kbd docutils literal"><span class="pre">Control-O</span></code></span></td><td><span class="yiyi-st" id="yiyi-988">在光标位置插入空行。</span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-989"><code class="kbd docutils literal"><span class="pre">Control-P</span></code></span></td><td><span class="yiyi-st" id="yiyi-990">光标向上;向上移动一行。</span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-991">如果光标位于无法移动的边缘,则移动操作不会执行任何操作。</span><span class="yiyi-st" id="yiyi-992">在可能的情况下支持以下同义词:</span></p><table border="1" class="docutils"><thead valign="bottom"><tr class="row-odd"><th class="head"><span class="yiyi-st" id="yiyi-993">不变</span></th><th class="head"><span class="yiyi-st" id="yiyi-994">按键</span></th></tr></thead><tbody valign="top"><tr class="row-even"><td><span class="yiyi-st" id="yiyi-995"><code class="xref py py-const docutils literal"><span class="pre">KEY_LEFT</span></code></span></td><td><span class="yiyi-st" id="yiyi-996"><code class="kbd docutils literal"><span class="pre">Control-B</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-997"><code class="xref py py-const docutils literal"><span class="pre">KEY_RIGHT</span></code></span></td><td><span class="yiyi-st" id="yiyi-998"><code class="kbd docutils literal"><span class="pre">Control-F</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-999"><code class="xref py py-const docutils literal"><span class="pre">KEY_UP</span></code></span></td><td><span class="yiyi-st" id="yiyi-1000"><code class="kbd docutils literal"><span class="pre">Control-P</span></code></span></td></tr><tr class="row-odd"><td><span class="yiyi-st" id="yiyi-1001"><code class="xref py py-const docutils literal"><span class="pre">KEY_DOWN</span></code></span></td><td><span class="yiyi-st" id="yiyi-1002"><code class="kbd docutils literal"><span class="pre">Control-N</span></code></span></td></tr><tr class="row-even"><td><span class="yiyi-st" id="yiyi-1003"><code class="xref py py-const docutils literal"><span class="pre">KEY_BACKSPACE</span></code></span></td><td><span class="yiyi-st" id="yiyi-1004"><code class="kbd docutils literal"><span class="pre">Control-H</span></code></span></td></tr></tbody></table><p><span class="yiyi-st" id="yiyi-1005">所有其他击键都被视为一个命令来插入给定的字符并向右移动(使用换行符)。</span></p></dd></dl><dl class="method"><dt id="curses.textpad.Textbox.gather"><span class="yiyi-st" id="yiyi-1006"> <code class="descname">gather</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-1007">以字符串形式返回窗口内容;包含窗口中的空白是否受到<a class="reference internal" href="#curses.textpad.Textbox.stripspaces" title="curses.textpad.Textbox.stripspaces"><code class="xref py py-attr docutils literal"><span class="pre">stripspaces</span></code></a>成员的影响。</span></p></dd></dl><dl class="attribute"><dt id="curses.textpad.Textbox.stripspaces"><span class="yiyi-st" id="yiyi-1008"> <code class="descname">stripspaces</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-1009">该属性是一个控制窗口中空白解释的标志。</span><span class="yiyi-st" id="yiyi-1010">打开时,每行上的尾随空白将被忽略;任何将光标放在尾部空白上的光标移动都会转到该行的末尾,而在收集窗口内容时尾随空白会被剥离。</span></p></dd></dl></dd></dl></div></div></div> |