5.12. TUI 附加组件基本特性
Anaconda 还支持基于文本的界面(TUI)。这个界面在功能方面有更多限制,但在某些系统上,它可能是交互式安装的唯一选择。有关基于文本的界面和图形界面与 TUI 的限制的更多信息,请参阅 Anaconda 简介和附加组件。
要在附加组件中添加对文本接口的支持,请在 tui 目录下创建新的子软件包集合,如 Anaconda 附加组件结构所述。
安装程序中的文本模式支持是基于 simpleline
库,该库仅允许非常简单的用户交互。文本模式界面:
- 不支持光标移动 - 相反,其行为类似一台行打印机。
- 不支持任何视觉增强,例如使用不同的颜色或字体。
在内部,line
工具包有三个主要类:App
, UIScreen
和 Widget
。Widget 是包含要在屏幕上打印的信息的单元。它们被放在 UIScreens 上,由 App 类的一个实例切换。在基本元素之上,hub
spoke 和对话框
都 以类似图形界面的方式包含各种小部件。
附加组件最重要的类是 NormalTUISpoke
,其它各种类定义在 pyanaconda.ui.tui.spokes
软件包中。所有这些类都基于 TUIObject
类,这本身等同于 附加 GUI 高级功能中讨论的 GUIObject
类。每个 TUI spoke 都是继承于 NormalTUISpoke
类的 Python 类,覆盖 API 定义的特殊参数和方法。因为文本界面比 GUI 简单,所以只有两个这样的参数:
-
title
- 确定 spoke 的标题,类似于 GUI 中的标题参数. -
category
- 确定作为字符串的 spoke 类;类名称不在任何地方显示,它仅用于分组。
TUI 处理类的方式与 GUI 不同。建议为您的新 spoke 分配一个预先存在的类。创建新类需要修补 Anaconda,这不会带来任何好处。
每个 spoke 还应覆盖多种方法,即 init
、initialize
、refresh
、refresh
、apply
、execute
、input
、prompt
和 properties
(ready
、completed
、mandatory
和 status
)。
其他资源
- 请参阅 Add-on GUI 的支持。