控件类型映射表
内置参数控件一览
(一)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] 的扩展类型,语义上表示一组路径,提供了一个功能丰富的外置路径编辑器,通过该编辑器,用户可以方便地管理一组路径,包括添加、删除以及改变路径的顺序。 |
![]() |