文本域 (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 | 是否只读 | boolean | false |
autosize | 自动调整大小 | object | - |
maxlength | 最大输入长度 | number | - |
showWordLimit | 是否显示字数限制 | boolean | true |
placeholder | 输入框占位文本 | string | - |
resize | 调整大小方向 | string | 'both' |
size | 输入框大小 | string | 'default' |
使用场景
文本域适用于需要用户输入大量文本内容的场景,例如:
- 备注信息
- 用户评论
- 项目描述
- 详细说明
- 代码或命令输入
resize 属性
resize 属性用于控制文本域的调整大小方向,支持以下选项:
值 | 说明 |
---|---|
none | 不允许调整大小 |
both | 允许调整宽度和高度 |
horizontal | 只允许调整宽度 |
vertical | 只允许调整高度 |
autosize 属性
autosize 属性用于控制文本域自动调整大小的行数范围:
python
"autosize": {
"minRows": 3, # 最小行数
"maxRows": 6 # 最大行数
}
当内容增加时,文本域会自动增加高度,但不会超过maxRows行;当内容减少时,文本域会自动减少高度,但不会小于minRows行。
最佳实践
- 对于大段文本输入,使用文本域而不是文本输入框
- 设置合理的最大长度限制,避免用户输入过长的内容
- 使用autosize属性,提供更好的用户体验
- 为长文本提供初始值或占位文本,帮助用户理解需要输入的内容类型