问题标签 [python-curses]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 在另一个线程中同时打印某些内容时使用 Cmd
我正在尝试实现一个简单的命令行客户端,它接受来自服务器的消息并将它们打印到标准输出,而用户输入的命令被转换为服务器请求。现在它是用twisted和Cmd完成的:
这需要异步完成,因为服务器有时只是向客户端发送未经请求的数据。但是通过这种方式写入标准输出的文本MyClient.dataReceived
与 Cmd 的控制台处理发生冲突,使其几乎无法使用。
我正在考虑通过使用某种控制台 UI 库(例如 Urwid 或 ncurses)将 MyCmd 和 MyClient 的输出放入屏幕的单独部分。
2009 年的这个帖子表明使用 Urwid 可能是不可能的:http: //lists.excess.org/pipermail/urwid/2009-July/000715.html
这个用 ncurses 完成的要点对我来说不太好用:https ://gist.github.com/interstar/3005137
以某种方式仍然可能吗?
python - 如果 Python Curses 窗口位于不同的线程上,则 getch 不会返回 KEY_RESIZE
当我自己运行此功能时,一切正常 - KEY_RESIZE 已发送,一切都很好。当我从线程内部调用 getch() 时出现问题 - 关键事件似乎工作正常(我没有彻底或广泛地测试过)但 KEY_RESIZE 从未发送过。
我做错了什么,或者有什么办法可以解决这个问题,以便无论线程如何都可以发送 KEY_RESIZE?
我已经尝试过在线程内外以及 Python 3.4.3 上的两个不同终端仿真器(gnome-terminal 和 konsole)上初始化屏幕。
打印发送到 stderr(重定向到另一个终端),因为 curses 倾向于破坏屏幕输出。我也没有在此代码中修复终端,因此您需要重置它以使其恢复正常。
python-curses - 使用 npyscreen 在表单之间传递值
我正在尝试npyscreen
在 python 中创建一个简单的 curses 应用程序,它请求用户在一个屏幕上输入,然后在另一个屏幕上为用户验证它。
大多数情况下,这是为了了解如何从内部存储和检索值npyscreen
。我确定我遗漏了一些简单的东西,但我一直无法在文档中找到(或理解?)答案。
下面的示例代码将无法正确传递值:
python - 终端,每一行接一个+一些固定文本
我想同时拥有:
就像在普通终端中一样,一行接一个地显示(Blah 12、Blah 13、Blah 14 等)
固定位置信息(右侧):日期+固定文本“Bonjour”
它几乎可以工作,直到〜Blah 250,当外观被破坏时!为什么?
(来源:gget.it)
使用 ANSI 终端,如何同时拥有正常的终端行为(每个新行print
)+ 固定位置显示?
注意:在 Windows 上,我使用 ansicon.exe 在 Windows cmd.exe 中获得 ANSI 支持。
python - 如何修复 python curses 中转换为参数 2 的错误?
我在 Unicurses 工作,这是一个用于 python 的跨平台诅咒模块。我试图将“@”字符放在控制台的中心。我的代码是这样的:
我一直收到错误
对于这一行:
有谁知道这个错误的原因并修复。谢谢!
python - window.delch() 用于虚拟屏幕
当我在curses、python中使用window.delch(y, x)时,删除会发生在屏幕上,而不是虚拟屏幕上,即即使我不调用window.refresh()也会删除字符. 为什么会这样,我将如何只删除虚拟屏幕上的角色?
python - 防止诅咒使用 ctrl + c
每次我执行 CTRL + c 时,Curses 都会关闭我的程序,如何防止这种情况发生?我尝试禁用键盘,进入 raw 和 noraw 模式,但它一直在发生。
python-3.x - 取消按键保持第一个符号后的延迟
当我按住一个键时,输入第一个符号,然后有一点延迟,然后快速输入其他符号。像这样的东西:
在终端中也会发生同样的情况。在 linux 控制台 (tty) 中也会发生同样的情况,即使该延迟较小。
我正在使用 Python 开发一个控制台应用程序,它使用curses
,它处理箭头键的按下,并且这种延迟也存在。
我想摆脱这种延迟,这样当我按住一个键时 - 它会统一发送信号,在第一个(或任何一个)符号之后没有任何特定的延迟。
我该怎么做?我应该使用来自阿森纳的东西curses
吗?或者修补一些系统范围的设置?
EDIT1:我想我找到了一种方法。我可以进入键盘设置并设置自动重复的延迟。但它会在全局范围内更改它,并且仅适用于我的图形界面。它不会改变 linux 控制台中的任何内容。因此,我也在寻找一种在控制台中执行此操作的方法,因此它只会影响我的应用程序,而不影响整个系统。
EDIT2:在 X http://linuxforcynics.com/how-to/set-keyboard-repeat-delay-and-rate中找到了一种全局的命令行方式
和 linux 控制台的一种方式:https ://unix.stackexchange.com/questions/58651/adjusting-keyboard-sensitivity-in-a-command-line-terminal
但仍在寻找仅限应用程序的方式。
python - Python 诅咒:让输入键终止文本框?
我有一个应用程序,要求人们输入他们的用户名和密码。我希望他们能够按回车键发送名称和密码。为此,我做了这个:
不幸的是,这并没有按预期工作。终止的标准字符(由 CTRL+G 触发)是 7,输入字符是 10,但是使用上面的代码,所有其他键仍然可以正确处理,但是当我按 enter 时,它只是给我一个换行符,而不是终止文本框的编辑模式。我究竟做错了什么?