Skip to content

文本域 (Textarea)

文本域用于输入多行文本。

基本用法

python
gui_config.add_argument(
    "texts",
    metavar="超文本框",
    help="输入超文本",
    default="这是一段介绍",
    widget="Textarea",
    gooey_options={
        "height": 100,  # 高度
        "width": 200,  # 宽度
        "readonly": False,  # 是否只读
        "autosize": {"minRows": 3, "maxRows": 6},  # 自动调整大小
        "maxlength": 500,  # 最大长度
        "showWordLimit": True,  # 是否显示字数限制
        "placeholder": "请输入详细描述",  # 占位文本
        "resize": "both",  # none, both, horizontal, vertical
        "size": "large"
    }
)

属性

属性名说明类型默认值
height文本域高度number-
width文本域宽度number-
readonly是否只读booleanfalse
autosize自动调整大小object-
maxlength最大输入长度number-
showWordLimit是否显示字数限制booleantrue
placeholder输入框占位文本string-
resize调整大小方向string'both'
size输入框大小string'default'

使用场景

文本域适用于需要用户输入大量文本内容的场景,例如:

  • 备注信息
  • 用户评论
  • 项目描述
  • 详细说明
  • 代码或命令输入

resize 属性

resize 属性用于控制文本域的调整大小方向,支持以下选项:

说明
none不允许调整大小
both允许调整宽度和高度
horizontal只允许调整宽度
vertical只允许调整高度

autosize 属性

autosize 属性用于控制文本域自动调整大小的行数范围:

python
"autosize": {
    "minRows": 3,  # 最小行数
    "maxRows": 6   # 最大行数
}

当内容增加时,文本域会自动增加高度,但不会超过maxRows行;当内容减少时,文本域会自动减少高度,但不会小于minRows行。

最佳实践

  1. 对于大段文本输入,使用文本域而不是文本输入框
  2. 设置合理的最大长度限制,避免用户输入过长的内容
  3. 使用autosize属性,提供更好的用户体验
  4. 为长文本提供初始值或占位文本,帮助用户理解需要输入的内容类型

基于MIT许可证发布