🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## User Interface 该模块可用来创建用户界面,可根据需要灵活组织。 同样,使用时先导入: ~~~ from WhiteHorse.WHUI import * ~~~ * * * * * 示例: ~~~ >>> components = [Label('壹匹BIM:'), DropDownBox('combobox1', {'壹': 1, '匹':2}), Label('壹匹BIM:'), InputBox('textbox1', Text="默认值"), CheckBox('checkbox1', '壹匹BIM'), CheckListBox("checklist1", {"白马":1, "saker":"nan"}), RadioBox("radiobox1", {"白马":1, "saker":"nan"}), FolderBox(name='folderbox1'), FileBox(name='filebox1'), SelectFaceBox('facebox1'), #只在dynamo中可用 SelectEdgeBox('edgebox1'), #只在dynamo中可用 SelectElementsBox('elebox1'), #只在dynamo中可用 ImageBox('c:\\WH.png'), Separator(), Button('确定')] >>> form = WHForm('壹匹BIM', components) >>> form.show() >>> # 假设选择了"壹", 在InputBox中输入"白马",选择了CheckBox >>> form.values >>> # 假设选择了"壹", 在InputBox中输入"白马",选择了CheckBox {'combobox1': 1, 'textbox1': 'Wood', 'checkbox1': True} ~~~ * * * * * 每个含有数据的控件需指定一个名字,以便在后面提取数据,当单击窗体下方确定按钮时,数据会以字典形式存在,所有,每个窗体上的每个控件,名字需 **唯一**! 需指定名称的控件有:**`InputBox`、`RadioBox`、`FolderBox`、`FileBox`、`CheckBox`、`CheckListBox`、`DropDownBox`、`SelectFaceBox`、`SelectEdgeBox`、`SelectElementsBox`** 为此,这里提供一个方法`getName(name)`该方法会在你指定的`name`后随机添加一串字符串,这样名称就会是唯一的。 * * * * * 下面详细列出每个控件及用法: > **主窗体**: >~~~ >WHForm(title, components, description=None, logo_path=None, **kwargs) >~~~ > 参数: > * **title**: 窗体的标题(String) > * **components**: 要显示在窗体上的控件. > * **description**: 窗体左上角描述文字(Stirng) > * **logo_path**: 显示在窗体左下角的图片绝对路径(String) > * **kwargs**: 附加属性(Dictionary) * * * * * > **标签**: > ~~~ > Label(label_text, **kwargs) #可用来写提示 > ~~~ > 参数: > * **label_text**:显示在标签上的文字(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > Label("壹匹BIM") #标签无需指定名称 > ~~~ * * * * * > **分割线**: > ~~~ > separater() #创建一条分割线 > ~~~ * * * * * > **按钮**: > ~~~ > Button(button_text, **kwargs) #每个窗体需含有一个Button,单击此按钮才会产生数据 > ~~~ > 参数: > * **button_text**: 按钮上显示的文字(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > Button("确定") #无需指定名称 > ~~~ * * * * * > **图片框**: > ~~~ > ImageBox(img_path=None, **kwargs) #可用来显示图片 > ~~~ > 参数: > * **img_path**: 图片地址(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > ImageBox("C:\\img.png") #需用绝对路径 > ~~~ * * * * * > **文本框**: > ~~~ > InputBox(name, **kwargs) #可用来输入文本 > ~~~ > 参数: > * **name**: 文本框名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > InputBox(getName("text")) #使用getName函数得到唯一名称 > ~~~ * * * * * > **单选框**: > ~~~ > RadioBox(name, items, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:单选框组的名字. > * **items**:单选框组中每个单选框元素.(Dictionary) > > 示例: > ~~~ > RadioBox(getName("radio"), {"白马":1, "saker":"nan"}) #使用getName函数得到唯一名称 > ~~~ * * * * * > **多选框**: > ~~~ > CheckBox(name, checkbox_text, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**: 控件名称(String) > * **checkbox_text**: 显示的名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > CheckBox(getName("check"), "壹匹BIM") #使用getName函数得到唯一名称 > ~~~ * * * * * > **多选框列表**: > > ~~~ > CheckListBox(name, description, items, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:多选框组的名字. > * **items**:多选框组中每个多选框元素.(Dictionary) > > 示例: > ~~~ > CheckListBox(getName("checklist"), {"白马":1, "saker":"nan"}) #使用getName函数得到唯一名称 > ~~~ * * * * * > **下拉列表**: > ~~~ > DropDownBox(name, options, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**: 多选框组的名字. > * **options**:添加到列表中的数据.(Dictionary) > > 示例: > ~~~ > DropDownBox(getName("drop"), {'壹': 1, '匹':2}) #使用getName函数得到唯一名称 > ~~~ * * * * * > **文件夹路径按钮**: > ~~~ > FolderBox(name, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:按钮名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > FolderBox(getName("folder")) #使用getName函数得到唯一名称 > ~~~ * * * * * > **文件路径按钮**: > ~~~ > FileBox(name, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:按钮名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > FileBox(getName("file")) #使用getName函数得到唯一名称 > ~~~ * * * * * > **选择面按钮**: > ~~~ > SelectFaceBox(name, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:按钮名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > SelectFaceBox(getName("face")) #使用getName函数得到唯一名称 > ~~~ * * * * * > **选择边按钮**: > ~~~ > SelectEdgeBox(name, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:按钮名称(String) > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > SelectEdgeBox(getName("edge")) #使用getName函数得到唯一名称 > ~~~ * * * * * > **选择元素按钮**: > ~~~ > SelectElementsBox(name, category=None, **kwargs) #名称需唯一 > ~~~ > 参数: > * **name**:按钮名称(String) > * **category**:元素类别,可指定类别过滤元素 > * **kwargs**: 附加属性(Dictionary) > > 示例: > ~~~ > SelectElementsBox(getName("element")) #使用getName函数得到唯一名称 > ~~~