问题标签 [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 投票
0 回答
1025 浏览

python - ImportError:没有名为“urwid”的模块

我在具有以下代码的 python 2.7 (pypy) 脚本中遇到问题

即使它是通过 pip 安装的,并且在运行pip freeze时可以在输出中看到,它也会向我显示这个问题的标题中的错误

这是在 Raspbian 中的 Raspberry PI 3 上运行的,并且同一组脚本在 Debian VM 上运行没有问题。

任何帮助非常感谢?

0 投票
1 回答
4730 浏览

python - 在 python 3 中从父类扩展 __init__ 的正确方法

一般问题:将子类完全初始化为其父类但添加单个属性的最简单/“最pythonic”的方法是什么?

我的具体问题:我想扩展一个(UrwidEdit对象以包含一个附加属性my_attribute;我已将原始签名复制到__init__andsuper().__init__中,但签名中有一些未定义的参数/常量(LEFT, SPACE),我不明白它们是如何在父类中设置的。以下是我的(破坏性)类定义和父 init 方法:

0 投票
0 回答
379 浏览

websocket - urwid + websockets + asyncio -- 服务器/客户端

我想在客户端制作一个基于 websockets(服务器+客户端)和 urwid 用户界面的服务器/客户端程序。

我面临的问题是我不断收到“从未检索到任务异常”......我工作,但它不干净......

我的服务器:

我的客户:

当我启动服务器时,我得到:

到目前为止,一切都很好。当我启动客户端时,服务器向我显示:

目前我在客户端按下 CTRL+C 得到:

这是想要的行为,除了在客户端中我遇到异常并且我的终端“损坏”,因为它仍然处于“urwid”模式。

干净的退出,通过点击 Q 按钮,它会为客户端产生一个干净的退出,并且终端是好的。在服务器端,会出现“从未检索到任务异常”的消息,并且“已连接”变量仍然保存着关闭的 websocket。

任何人的线索?

0 投票
1 回答
309 浏览

python - 如何保持 urwid.Edit 始终处于焦点?

我用 python+urwid 编写了一个类似 ircII 的屏幕,其中我有一个文本在终端的整个屏幕上流动,加上底部的可编辑文本作为提示,让用户插入命令并按 enter。

屏幕的主体是一个urwid.SimpleFocusListWalker新文本(例如命令响应),每行urwid.Text都会创建一个新文本。

此代码显示了我如何创建布局。

好的,现在的问题是,当我的终端窗口失去焦点时,我再次单击它,通过单击 xterm 窗口的标题栏,或者直接单击urwid.Edit充当用户输入命令的底部,一切都很好。

但是,如果我点击 xterm 窗口的屏幕,底部urwid.Edit会失去焦点,所以它也会失去光标。我必须再次单击urwid.Edit以使光标再次出现,并且能够写入。似乎当我用鼠标单击屏幕时,urwid 从底部离开焦点urwid.Edit并将其提供给urwid.SimpleFocusListWalker或,除非我用鼠标单击它,否则urwid.ListBox不可能将焦点返回给。urwid.Edit

绝对不想要这个!我怎么能告诉 urwid 不要把重点放在 theurwid.SimpleFocusListWalker或 the 上urwid.ListBox,或者只是把重点放在urwid.Edit其中一个得到它的时候?

更重要的是,我希望能够告诉 urwid永远不要离开urwid.Edit我用来编写命令的焦点。

有什么帮助吗?!

0 投票
1 回答
671 浏览

python - 如何在 Urwid 中更新 SimpleWalkerList 的内容?

我找不到合适的方法来更新 URWID 中 SimpleWalkerList 的内容。下面是我试图根据用户输入生成列表的代码的简化示例:

预期的结果是将值从“foo”更改为“oof”(如此简单的字符串操作)。无论我使用什么方式都不允许我操纵这些值。我是否需要停止循环并从头开始重新绘制整个屏幕?

提前致谢!

0 投票
1 回答
613 浏览

python - urwid 中是否有等效的 GUI 文本字段?

我想知道 python 库urwid 是否包含一个类似于 GUI 文本字段的输入选项。

我的意思是,

  • 输入选项在输入后仍可编辑。
  • 可以按任何顺序填写各个字段。

这是 Swing 的JTextField的一个简单示例:

在此处输入图像描述

0 投票
2 回答
1802 浏览

python - 您如何组合多个 TUI 表单来编写更复杂的应用程序?

想编写一个带有基于文本的用户界面( TUI )的程序,该界面由多种形式组成。

几种形式的介绍。

  • 第一种形式包含一个“列表”。每个列表元素代表一个按钮。
  • 如果按下相应的按钮,则应出现另一种形式,可以在其中输入列表条目的数据。
  • 然后再次显示第一个表单(带有更新的列表条目)。

这是我的尝试,它使用库npyscreen但不返回第一种形式。该代码也不包含更改列表项的逻辑。

0 投票
2 回答
668 浏览

python - python 库“urwid”是否包含用于读取日期的小部件(日期选择器)?

npyscreen具有用于选择日期的小部件“DateCombo”和“TitleDateCombo”

urwid有类似的吗? 如果没有,有没有推荐的第三方库?

这是一个使用 npyscreen 的示例:

在此处输入图像描述

0 投票
2 回答
1791 浏览

python - 你如何让 python 库“urwid”的按钮看起来很漂亮?

urwid 中按钮的默认外观非常实用,但在我看来不是很漂亮。当几个按钮并排排成一排时,它也可能很烦人。

如何实现按钮显示为带有框架和居中文本并在获得焦点时更改其颜色?

在此处输入图像描述

0 投票
2 回答
1242 浏览

python - 如何指示 urwid 列表框的项目比目前显示的多?

有没有办法向用户显示 urwid 列表框在显示部分上方/下方有其他项目?

我正在考虑类似滚动条的东西,它可以让您了解条目的数量。

带有垂直滚动条的列表框。

或列表框顶部/底部的单独栏。

向下滚动时转换列表框。

如果无法实现这种行为,有什么方法可以实现这种通知?

在我的研究中,我发现了这个问题,它试图最终达到同样的效果。给定的答案似乎检查所有元素是否可见。不幸的是,如果由于终端未调整大小而随时隐藏某些元素,这将失去其功能。