Skip to main content

基于curses的TUI程序库

项目描述

诅咒空间

基于 curses 包的 TUI 应用程序的 python 库/框架。

示例使用

这是一个非常简单的示例,说明如何使用 cursedspace 包:

#!/usr/bin/env python3

import curses
from cursedspace import Application, Key, Panel, colors


class DemoApplication(Application):
    def __init__(self):
        super().__init__()
        self.panel = None

    def main(self):
        self.panel = Panel(self)
        self.resize()

        self.screen.addstr(0, 0, "Just some color example", colors.attr(colors.RED))

        while True:
            curses.doupdate()

            key = self.read_key()

            if key == Key.RESIZE:
                self.resize()
            elif key in [Key.ESCAPE, "q", "^C"]:
                break

    def resize(self):
        height, width = self.size()
        self.panel.resize(height, width)
        self.panel.paint()


# run the application
DemoApplication().run()

有关更多示例,请参见examples文件夹。

成分

  • Application是主要的应用程序类并提供样板初始化
  • Panel是一个基本面板,支持在Application
  • InputLine是一个具有非常基本的编辑支持的面板。
  • Key为 curses 的密钥系统提供了一个方便的包装器。即使您不想使用Applicationor ,它也可以独立使用Panel
  • ShellContext是一个方便的包装器来执行外部进程(例如通过子进程)并在之后再次返回到 curses 上下文。
  • colors是一种成对定义颜色(前景和背景)并让它们自动注册以在 curses 中使用的通用方法。您只需调用colors.attr(ColorPair(...))以使用新的颜色组合(当然受终端限制)。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

cursedspace-1.5.2.tar.gz (24.8 kB 查看哈希)

已上传 source

内置分布

cursedspace-1.5.2-py3-none-any.whl (25.7 kB 查看哈希)

已上传 py3