Python TUI libs

Python TUI libs,python,curses,tui,urwid,Python,Curses,Tui,Urwid,为了好玩,我正在Linux中使用python和TUI(不是GUI,这只是蹩脚的)编写一个小型数独游戏/解算器。我的问题是,哪个lib更好(我的意思是更容易处理,更好的支持,更直截了当和更容易理解),选择是,或者如果有人有更好的建议,为什么?我有一些Tkinter和wxPython的经验 任何帮助或信息都将不胜感激。如果您的游戏将在控制台内运行,请选择 如果您的游戏将作为GUI应用程序运行,那么只需选择。您可能想签出它,它在UNIX系统中包装了python core curses模块,在基于win

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


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

如果您的游戏将在控制台内运行,请选择


如果您的游戏将作为GUI应用程序运行,那么只需选择。

您可能想签出它,它在UNIX系统中包装了python core curses模块,在基于windows的机器上包装了免费的pdcurses库

此库旨在模拟原始ncurses库的语法和样式,因此,如果您对使用curses样式编程学习TUI设计感兴趣,请查看它

是一个非常有趣的库,它使用事件循环(the)作为应用程序设计的基础,很像tkinter或Twisted。此外,urwid有一个事件循环类,专门设计用于Twisted,因此如果您的目标是创建TUI以通过网络使用,那么它是一个不错的选择。Twisted也使用reactor模式,所以如果你想学习这种风格,我推荐它

最后,如果您确实使用ncurses样式库,请查看。这是一个非常好的资源,而且我所知道的唯一一个资源是今天出版的


还有其他选择,例如,等等,但这应该可以让您开始。幸运的是,如今的TUI编程是一种很难打破的技术迷恋,但它是值得的。

虽然上述方法对于Linux来说是完全合理的解决方案,但OP要求提供其他建议和理由

谁想在Python这样的现代OO语言中使用像curses这样的低级API?更不用说如果你被困在窗户里(OP不是,但对很多人来说是个问题)。。。一定有更好的办法

为了解决这个问题,我创建了一个简单的跨平台类(是的,包括Windows,但不返回到PDcurses)来完成大多数人希望从终端/控制台完成的所有事情。如果你在Linux上,这是一种更人性化的诅咒编程方式。如果您在Windows上,则同一类的工作方式与没有外部二进制依赖项的情况相同。您可以在中找到Screen类

此外,我还创建了大量高级对象来创建动画和TUI。例如,这是使用TUI小部件记录样本:


如果您需要其他功能,请告诉我,我会看看我能做些什么。

因为我不喜欢windose,UniCourses可能没有必要。纽特看起来不错,它的名字让我想起了共和党提名的噩梦。。。我在pygcurse的网站上看到了一些TUI游戏的例子,这更是我的目的。非常感谢。如果你希望进入诅咒游戏开发,也可以看看,一个非常强大的针对盗贼之类的TUI库。它几乎是Python中非网络化roguelike开发的go-to库,而且相对容易使用。如果有一天你将代码托管在某个地方,请告诉我们。天哪,这个库太棒了!谢谢分享!