跳转到主要内容

为Textual提供的视觉效果,是一个TerminalTextEffects包装器。

项目描述

textualeffects

为Textual提供的视觉效果,是一个TerminalTextEffects包装器。

简介

textualeffects是一个库,它为优秀的TerminalTextEffects视觉效果库提供了Textual绑定。

小部件

textualeffects中有两个小部件可用,分别是EffectLabelSplashScreen

一个EffectLabel小部件,可用于显示带有视觉效果的文本。

from textual.app import App, ComposeResult

from textualeffects.effects import EffectType
from textualeffects.widgets import EffectLabel

text=("Hello World! " * 5 + "\n") * 10,
effect: EffectType = "Spotlights"
config = {
    "search_duration": 500,
    "spotlight_count": 3,
}


class TextualEffect(App):

    def compose(self) -> ComposeResult:
        label = EffectLabel(text, effect=effect, config=config)
        label.styles.border = ("heavy", "green")
        yield label


if __name__ == "__main__":
    app = TextualEffect()
    app.run()

EffectLabel

一个SplashScreen小部件,可用于显示基于ModalScreen的带有视觉效果的启动屏幕。效果完成后,启动屏幕将被关闭。用户也可以按ESC键关闭启动屏幕。

from textual.app import App, ComposeResult
from textual.widgets import TextArea

from textualeffects.effects import EffectType
from textualeffects.widgets import SplashScreen

effect: EffectType = "Spotlights"
config = {
    "search_duration": 100,
    "spotlight_count": 3,
}


class SplashEffect(App):

    def on_mount(self) -> None:
        text = ("Hello World! " * 5 + "\n") * 10
        self.push_screen(SplashScreen(text, effect=effect, config=config))

    def compose(self) -> ComposeResult:
        yield TextArea(("Main content" * 5 + "\n") * 10)


if __name__ == "__main__":
    app = SplashEffect()
    app.run()

EffectLabel

这两个小部件都接受以下参数

  • text:要显示的文本。
  • effect:要应用于文本的视觉效果。可用的效果通过EffectType类型公开。
  • config:效果的配置选项字典。可用的选项取决于效果。有关可用选项的详细信息,请参阅TerminalTextEffects文档

为了方便起见,当效果完成时,EffectLabelSplashScreen小部件将发出EffectLabel.EffectFinished事件。您可以通过监听此事件来执行任何操作

    @on(EffectLabel.EffectFinished)
    def do_stuff(self, message: EffectLabel.EffectFinished) -> None:
        ...

许可证

本项目遵循MIT许可协议

项目详情


下载文件

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

源代码分发

textualeffects-0.1.3.tar.gz (41.2 kB 查看哈希值)

上传时间 源代码

构建分发

textualeffects-0.1.3-py3-none-any.whl (5.0 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面