控件类型映射表
内置参数控件一览
(一)Python内置类型的默认控件
| 控件类型 | 控件配置类型 | 对应参数类型 | 说明 | 外观 |
|---|---|---|---|---|
IntSpinBox |
IntSpinBoxConfig |
int |
用于输入int类型数据。 |
![]() |
FloatSpinBox |
FloatSpinBoxConfig |
float |
用于输入float类型数据。 |
![]() |
BoolBox |
BoolBoxConfig |
bool |
用于输入bool类型数据。 |
![]() |
LineEdit |
LineEditConfig |
str |
用于输入str类型数据。 |
![]() |
DictEdit |
DictEditConfig |
dict、typing.Dict、Mapping、MutableMapping |
用于字典类型数据的输入。 | ![]() |
ListEdit |
ListEditConfig |
list、typing.List |
用于列表类型数据的输入。 | ![]() |
TupleEdit |
TupleEditConfig |
tuple、typing.Tuple |
用于元组类型数据的输入。 | ![]() |
SetEdit |
SetEditConfig |
set、typing.Set、MutableSet |
用于集合类型数据的输入。 | ![]() |
DateEdit |
DateEditConfig |
date |
该控件用于输入日期,是python内置datetime.date类型参数的默认输入控件。 |
![]() |
TimeEdit |
TimeEditConfig |
time |
该控件用于输入日期,是python内置datetime.time类型参数的默认输入控件。 |
![]() |
DateTimeEdit |
DateTimeEditConfig |
datetime |
该控件用于输入日期时间,是python内置datetime.datetime类型参数的默认输入控件。 |
![]() |
ExclusiveChoiceBox |
ExclusiveChoiceBoxConfig |
typing.Literal |
用于从一组选项中选择一个选项,是typing.Literal类型的默认控件,可以自动提取Literal所有给定的字面量并将其作为可选项。 |
![]() |
PyLiteralEdit |
PyLiteralEditConfig |
typing.Any、object、Union[str,bytes,bool,int,float,list,tuple,set,dict,None] |
PyLiteralEdit主要用于Python字面量的输入,是Any、object、Union等类型参数的默认输入控件。 Python字面量是指ast.eval_literal()支持的任意Python字面量,包括:字符串、字节对象、数值、元组、列表、字典、集合、布尔值等。 |
![]() |
EnumSelect |
EnumSelectConfig |
enum.Enum |
用于Enum(枚举类型)值的输入 |
![]() |
(二)语义化类型(扩展类型)及其控件
语义化类型是从内置类型中扩展而来的类型,很多时候,可以看作是对应内置类型的“别名”,在使用上与对应内置类型没有区别。
语义化类型(扩展类型)的主要作用在于,提供区别于对应内置类型默认控件的专用控件,以满足特定场景下的输入需求。比如int_slider_t是int类型的语义化类型(扩展类型),在使用上与int类型一致,但它对应的输入控件是一个Slider(滑动条),而不是一个SpinBox。
通过合理使用语义化类型(扩展类型),开发者可以构建出界面更加丰富,用户交互体验更加良好的应用程序。以下是PyGUIAdapter提供的语义化类型(扩展类型)及其对应的控件。
所有的语义化类型(扩展类型)均在
pyguiadapter.extend_types模块中定义,可以通过以下方式导入:其中,
TYPE_NAME是需要导入的类型名称。比如,对于int_slider_t,可以通过如下方式导入:
| 控件类型 | 控件配置类型 | 对应数据类型 | 说明 | 外观 |
|---|---|---|---|---|
IntLineEdit |
IntLineEditConfig |
int_t |
int_t扩展自int,可以看作是int类型的别名。PyGUIAdapter为该类型提供了一个单行文本输入框样式的输入组件,但于与一般单行文本输入框,该类型的输入组件只允许用户输入整数文本。 |
![]() |
FloatLineEdit |
FloatLineEditConfig |
float_t |
float_t扩展自float,可以看作是float类型的别名。PyGUIAdapter为该类型提供了一个单行文本输入框样式的输入组件,但于与一般单行文本输入框标题,该类型的输入组件只允许用户输入浮点数文本。 |
![]() |
TextEdit |
TextEditConfig |
text_t |
text_t扩展自str,可以看作是str类型的别名。PyGUIAdapter为该类型提供了一个多行文本输入框,允许用户输入多行文本。 |
![]() |
Slider |
SliderConfig |
int_slider_t |
int_slider_t扩展自int,可以看作是int类型的别名。与其他int不同,PyGUIAdapter为该类型提供了滑动条形式的输入控件。 |
![]() |
Dial |
DialConfig |
int_dial_t |
int_dial_t扩展自int,可以看作是int类型的别名。与其他int不同,PyGUIAdapter为该类型提供了刻度盘形式的输入控件。 |
![]() |
ColorPicker |
ColorPickerConfig |
color_t、color_hex_t、color_tuple_t |
color_t扩展自object,代表颜色类型的数据,实际支持的类型包括tuple(3元素或4元素元组)、str、QColor,发者可以选择颜色的表示方式。PyGUIAdapter为该类型提供了一个颜色选择器。 |
![]() |
ChoiceBox |
ChoiceBoxConfig |
choice_t |
该类型扩展自object,PyGUIAdapter为该类型提供了一个下拉选择框,用户可以从一组选项中选择其中一个。 |
![]() |
MultiChoiceBox |
MultiChoiceBoxConfig |
choices_t |
该类型扩展自list,用于从一组对象中选择多个对象。 |
![]() |
KeySequenceEdit |
KeySequenceEditConfig |
key_sequence_t |
key_sequence_t扩展自str,代表快捷键。 |
![]() |
PlainDictEdit |
PlainDictEditConfig |
plain_dict_t |
plain_dict_t类型扩展自dict,用于Dict[key, int|bool|float|str|list|dict]类型数据的输入。 |
![]() |
StringListEdit |
StringListEditConfig |
string_list_t |
string_list_t扩展自list,用于List[str]类型数据的输入。 |
![]() |
JsonEdit |
JsonEditConfig |
json_obj_t |
json_obj_t扩展自object,用于json类型数据的输入。用户在控件上输入的文本将通过json.loads转换为对应的Python对象。 |
![]() |
DirSelect |
DirSelectConfig |
directory_t、dir_t |
directory_t扩展自str,代表一个目录路径,PyGUIAdapter为该类型提供了一个文件选择对话框用于选择目录。 |
![]() |
FileSelect |
FileSelectConfig |
file_t |
file扩展自str,代表一个文件路径,PyGUIAdapter为该类型提供了一个文件选择对话框用于选择文件。 |
![]() |
MultiFileSelect |
MultiFileSelectConfig |
files_t |
files扩展自list,代表一组文件路径,PyGUIAdapter为该类型提供了一个文件选择对话框用于选择多个文件。 |
![]() |
PathListEdit |
PathListEditConfig |
path_list_t |
List[str]类型的扩展类型,语义上代表一个路径列表,支持添加文件路径和文件夹路径。 |
![]() |
FileListEdit |
FileListEditConfig |
file_list_t |
List[str]类型的扩展类型,语义上代表一个路径列表,支持添加文件路径。 |
![]() |
DirectoryListEdit |
DirectoryListEditConfig |
dir_list_t |
List[str]类型的扩展类型,语义上代表一个路径列表,支持添加文件夹路径。 |
![]() |
FontSelect |
FontSelectConfig |
font_t |
str类型的扩展类型,语义上代表一个字体名称,提供下拉框供用户选择当前系统已安装字体。 |
![]() |
IntQuantityBox |
IntQuantityBoxConfig |
int_quantity_t |
tuple类型的扩展类型,具体为一个二元素元组Tuple[int, str |None],语义上代表一个整数型的数量(所谓数量即带单位的量),第一个元素为数量的值,第二个元素为数量的单位。实现了专门的输入控件,允许用户输入数量的值和选择数量的单位。 |
![]() |
FloatQuantityBox |
FloatQuantityBoxConfig |
float_quantity_t |
tuple类型的扩展类型,具体为一个二元素元组Tuple[float, str |None],语义上代表一个浮点型的数量(所谓数量即带单位的量),第一个元素为数量的值,第二个元素为数量的单位。实现了专门的输入控件,允许用户输入数量的值和选择数量的单位。 |
![]() |
PathsEditor |
PathsEditorConfig |
paths_t |
List[str]的扩展类型,语义上表示一组路径,提供了一个功能丰富的外置路径编辑器,通过该编辑器,用户可以方便地管理一组路径,包括添加、删除以及改变路径的顺序。 |
![]() |



































