## 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函数得到唯一名称
> ~~~
- 前言
- 安装
- WhiteHorse节点
- WH_Games
- Snake
- WH_UI
- 旧版UI
- WH_Form
- 布尔值控件
- 多选框控件
- 文本框控件
- 文件夹路径控件
- 文件路径控件
- 下拉列表控件
- 选择边控件
- 选择面控件
- 选择元素控件
- 新版UI
- WH_WorkFlow
- 梁柱切板
- 墙生轴线
- 轴网系统
- 轴线生墙
- WH_Geometry
- Curve
- 合并共线
- 曲线去重
- 线间生线
- 沿面生线
- 直线?
- Point
- 去重点
- PolyCurve
- 线转多段线
- WH_Rebar
- Rebar_输入
- 钢筋_创建
- 基于线创建
- 钢筋_设置
- 清晰视图
- 显示实体
- 钢筋容器_创建
- 基于钢筋创建
- 基于线创建
- 添加钢筋
- 钢筋容器_设置
- WH_Revit
- 收集器
- 按类别
- 族
- 改名
- 复制类型
- 基于主体创建
- 洞口
- 板开洞
- 过滤器
- 按参数值
- 按参数值包含
- 按类别
- 按名称
- 按名称包含
- WhiteHorse包
- 导入
- 使用Dynamo原有节点
- 选择元素
- Dynamo元素与Revit元素相互转换
- 事务
- UI