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

标签 python user-interface console chat urwid

<分区>

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

My first attempt with ncurses failed ,所以我尝试了 Urwid并发现项目 nigiri正是我想要的:

Nigiri UI

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

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

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

只是设置 UI 的基础,在底部输入一些文本,并在不阻塞底部输出的情况下异步通知顶部面板添加一些文本。

谢谢

最佳答案

在计算领域,如果你不聪明,你就得有耐心。我只是将很好的旧 try/except 关键字应用到我的编程方法中:

  1. 从源中删除与我的功能无关的内容
  2. 如果可以,转到 1,直到只剩下基本代码
  3. 如果它崩溃了,理解这部分以及为什么它是必不可少的,并用适合我需要的代码替换它,然后返回到 2

我只是剥离了 nigiri 源代码直到它适合 one file .

它有效。现在我必须弄清楚如何让 urwid 和 zeromq 主循环很好地协同工作。

关于python - 如何使用 Python Urwid 进行类似 UI 的聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8635299/

相关文章:

python - 构建 Firebase 数据库

python - django读取文本文件以检索数据

cocoa - 如何强制 NSPopUpButton Cell 显示自身?

java - 如何根据窗口大小缩放对象?

c# - 在 C# 中包含命名空间

java - 在 Java 中读取和写入控制台

c# - 如何循环控制台应用程序

python setup.py py2exe 语法无效(asyncsupport.py,第 22 行)

python - 如何使用 azure-sdk-for-python 创建具有自定义镜像的 VM?

css - Qt 可以创建类似 Blender 的 GUI 吗?