问题标签 [urwid]

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.

0 投票
1 回答
2895 浏览

python - 更改 urwid/python2.6 中当前显示的列表框的内容

我正在用 python 编写一个音乐播放器,并带有一个使用 urwid 的 cli。我打算将当前播放列表放在一个 simpleListWalker 中,由一个列表框包裹,然后是列、一堆,最后是一个框架。

如何用其他内容替换此列表框(或 simpleListWalker)的全部内容?

相关代码:

完整代码位于:http ://github.com/ripdog/PyPlayer/tree/cli - 检查 main.py 的接口代码。

代码现在处于非常糟糕的状态,而我只编程了两个月。非常感谢您对代码样式、布局或任何其他提示的任何建议。

0 投票
2 回答
1311 浏览

python - Python 控制台 UI 建议

我目前正在重写一个使用 curses 的 perl 控制台应用程序,并计划在 Python 中实现它。到目前为止,我已经将我的库选项缩小到直接诅咒、urwid 和对话。

该应用程序基本上是设备的安装程序,可容纳基本配置(网络选项、主机名等)。对于其中一个,是否有任何建议或拥护者?urwid 或 dialog 有什么严重的限制吗?

0 投票
1 回答
5093 浏览

python - python - urwid 简单列表框示例

我正在寻找 urwid 来开发控制台应用程序。作为一个起点,我正在寻找一个简单的列表框示例,它显示了可以使用向上/向下键滚动的几行。

谁能提供一个简单的例子来说明如何做到这一点或将我指向一个链接?我在 urwid 网站上看到了这些示例,但我正在寻找更基本的东西。

编辑

@Adam:我在网上找到了这个例子。我对注释掉的部分有困难,因为我不熟悉 API,而且我是 python 新手。

Edit2 我想通了并更新了示例。还有一个问题 - 我可以直接从 ListBox 中获取项目计数吗?

0 投票
2 回答
1466 浏览

python - Urwid ListBox:如何获得流畅的焦点移动?

我有以下代码片段,它显示了一个数字列表,并突出显示了当前关注的项目:

当我启动程序时,终端看起来像:

如果我按下down按钮,则视图变为:

我想要一种在0-3屏幕向下滚动之前突出显示并聚焦的行为。实现这一目标的最佳方法是什么?

0 投票
2 回答
15450 浏览

python - Python ncurses、CDK、urwid 的区别

这3个有什么区别?据我了解,它们都提供对curses 的绑定,curses 是基于终端文本的UI 的C 库。

我目前对这三个一无所知,也从未使用过诅咒。你会推荐哪一个?我多次听说过ncurses,但只有一两次关于CDK(通过研究),从未听说过urwid(我认为)。

0 投票
1 回答
4474 浏览

python - 如何使用 Python Urwid 进行类似 UI 的聊天?

我已经可以使用 gevent 和 zeromq 实现聊天守护程序,但我想为它们制作一个控制台 UI。

我第一次尝试 ncurses 失败了,所以我尝试了Urwid,发现 nigiri 项目完全符合我的要求:

饭团用户界面

我研究了源代码,但不熟悉控制台 UI 编程,我没能找到产生这个结果的部分(特别是因为它使用了多个选项卡),而我想我必须使用connect 信号

有没有人有一个可以做到这一点的片段?

我不需要整个程序,我可以自己处理通信、守护进程、选项和所有其他事情。

只是设置 UI 的基础,在底部输入一些文本,并异步通知顶部面板添加一些文本,同时它不会阻止底部输出。

谢谢

0 投票
0 回答
497 浏览

python - Python pygments 和 urwid.Edit 小部件(带元组的列表)

我有个问题。我尝试为终端制作一个编辑器。所以我使用 urwid,因为它同时支持键和鼠标事件。我的设置是使用自定义 listwalker 和一行 Edit 小部件,并将标题设置为行号。问题是当它突出显示代码时,pygments 会逐行执行此操作。这是非常有效的。但是有一个问题!例如,如果您有一个多行文档字符串,它会被错误地突出显示。

我无法绕过它。突出显示我使用的代码

它使用 urwid 调色板着色。

这些行存储在一个简单的列表中

和高亮功能产生

当它被处理时,它会从文本中生成一个字符串并存储在 self._edit_text 中。然后它生成一个元组列表,存储为

这意味着 self._edit_text[0:4] 用“ln_sel”调色板元组着色,而 self._edit_text[4:8] 用“Token.Name”调色板元组着色。

我怎样才能使这项工作?

谢谢 :)

http://excess.org/urwid/
http://pygments.org/

0 投票
2 回答
1013 浏览

python - OS X Lion Python 2.7 上缺少 urwid

我今天早上安装了mitmproxy,并开始在我的控制台中看到这个:

ImportError:没有名为 urwid 的模块

经过一番谷歌搜索后,我在 TinyCoreLinux 论坛上发现了一个帖子,暗示 urwid 模块可能在 2.6 和 2.7 版本之间出现了问题。我不经常使用 Python 来理解如何管理它的依赖关系。有人可以说明我将如何修复系统上缺少的 urwid 模块吗?我正在使用 Python 2.7 运行 OS X Lion。

0 投票
2 回答
3703 浏览

python - 使用 Python Urwid/NCurses 在终端应用程序中创建水平和垂直可滚动的表格

我想创建一个终端应用程序,它显示一个包含很多列和行的表格(在宽度和高度上不适合常规屏幕)。
用户应该能够水平垂直滚动表格(并且行应该是可选择的),所以它的行为有点像 htop。

我找不到任何提示如何使用 urwid 创建这样的小部件,大多数示例包装文本并且不允许水平滚动。

我必须使用哪些 urwid 小部件/容器来实现此行为?有什么好的例子可以做类似的事情吗?我可以使用最新版本的 Urwid

编辑:由于 urwid 不提供水平滚动的列表框,我至少可以使用 Python-ncurses 创建这样的功能吗?

0 投票
3 回答
16349 浏览

python - Python TUI 库

我正在Linux中使用带有TUI的python(不是GUI,这只是la脚)在Linux中编写一个小型数独游戏/求解器,只是为了好玩。我的问题是,哪个库更好(我的意思是更容易处理,更好的支持,更直接和易于理解),选择是诅咒urwid或者如果有人有更好的建议,为什么?我有一些 Tkinter 和 wxPython 经验。

任何帮助或信息将不胜感激。