uistack
对 UI 组件的视图堆叠重新排序
说明
示例
创建一个 UI 图窗,其中包含一个按钮和一个仪表。由于先创建按钮后创建仪表,因此仪表会出现在顶层并覆盖按钮。
fig = uifigure; btn = uibutton(fig,"Text","Go","Position",[148 148 25 25]); g = uigauge(fig);
通过将按钮移至层叠的顶部,将按钮置于顶层。
uistack(btn,"top");
创建一个 UI 图窗,其中包含五个具有不同标题和背景颜色的重叠面板。
fig = uifigure; a = uipanel(fig,"Title","A","BackgroundColor","white","Position",[200 200 170 150]); b = uipanel(fig,"Title","B","BackgroundColor","cyan","Position",[100 170 170 150]); c = uipanel(fig,"Title","C","BackgroundColor","green","Position",[50 90 170 150]); d = uipanel(fig,"Title","D","BackgroundColor","yellow","Position",[140 140 170 150]); e = uipanel(fig,"Title","E","BackgroundColor","magenta","Position",[170 110 170 150]);
在 UI 图窗中列出子级。
fig.Children
ans = 5×1 Panel array: Panel (E) Panel (D) Panel (C) Panel (B) Panel (A)
通过将面板 a
和 c
在层叠中相对于当前位置上移一层,对面板重新排序。
comp = [a c]; uistack(comp)
再次列出子级项。更改面板的层叠顺序也会更改 UI 图窗中子级项的顺序。
fig.Children
ans = 5×1 Panel array: Panel (E) Panel (C) Panel (D) Panel (A) Panel (B)
创建一个 UI 图窗,它包含具有两个顶层节点的树,其中每个节点有两个子节点。
fig = uifigure; t = uitree(fig,"Position",[20 20 150 150]); category1 = uitreenode(t,"Text","Vegetables"); category2 = uitreenode(t,"Text","Fruits"); n1 = uitreenode(category1,"Text","Cucumber"); n2 = uitreenode(category1,"Text","Carrot"); n3 = uitreenode(category2,"Text","Apple"); n4 = uitreenode(category2,"Text","Banana");
展开树中的所有节点。
expand(t)
将 Fruits 节点移至层叠的顶部。该节点会相对于共享一个父节点的所有其他节点重新排序。以下命令将 Fruits 节点及其所有子节点移至 Vegetables 节点上方。
uistack(category2,"top")
重新排列 Fruits 节点的子节点。将 Apple 节点向下移动一层,移至 Banana 节点下方。
uistack(n3,"down",1)
创建一个包含选项卡组(其中包含五个选项卡)的 UI 图窗。
fig = uifigure; tg = uitabgroup(fig,"Position",[20 20 450 300]); t1 = uitab(tg,"Title","Survey Questions"); t2 = uitab(tg,"Title","Demographic"); t3 = uitab(tg,"Title","Participants"); t4 = uitab(tg,"Title","Data"); t5 = uitab(tg,"Title","Plot");
将 Data 选项卡移至层叠的底部。该选项卡显示在最右侧。
uistack(t4,"bottom")
将 Survey Questions 选项卡向右移动两层。
uistack(t1,"down",2)
输入参数
要重新排序的 UI 组件,指定为单个对象或对象向量,例如 Figure
、Panel
、Tab
、Button
或 TreeNode
对象。使用此参量指定要相对于共享同一父对象的其他对象重新排序的 UI 组件。
如果将 comp
指定为由 UI 组件组成的向量,则:
向量中的每个组件必须共享一个父组件。
向量必须为父容器的子容器的一个严格子集。例如,如果一个图窗有六个子级 UI 组件,则向量
comp
可以有不超过五个元素。
移动 UI 组件的位置,指定为下表中的值之一。
值 | 描述 |
---|---|
"up" | 将 UI 组件向上移动 step 层(默认移动一层)。 |
"down" | 将 UI 组件向下移动 step 层(默认移动一层)。 |
"top" | 将 UI 组件移至其层叠的顶部。 |
"bottom" | 将 UI 组件移至其层叠的底部。 |
在堆叠中向上或向下移动 UI 组件的层数,指定为正整数。仅当 moveto
指定为 "up"
或 "down"
时,才使用此参量。
如果指定的层数大于可移动的层级数,则 UI 组件移至堆叠的顶部或底部。例如,如果您有五个层级并指定组件向下移动六层,则该组件移至堆叠的底部。
版本历史记录
在 R2006a 之前推出现在,您可以更改使用 uifigure
函数创建的图窗中 UI 组件和容器的层叠顺序。以前,uistack
仅支持使用 figure
函数创建的图窗中的 UI 组件。
当您修改菜单、工具栏、按钮工具和切换工具的层叠顺序时,其行为与以前的版本不同。例如,从 R2023a 开始,调用 uistack(comp,"up")
会有以下行为:
以图窗为父级的菜单项 - 菜单项在菜单栏中向左移动一个位置。以前,菜单项向右移动一个位置。
以上下文菜单为父级的菜单项 - 菜单项在上下文菜单中上移一个位置。以前,菜单项下移一个位置。
工具栏 - 工具栏在图窗中的工具栏集合中上移一个位置。以前,工具栏下移一个位置。
按钮工具和切换工具 - 按钮工具或切换工具在工具栏中向左移动一个位置。以前,按钮工具或切换工具向右移动一个位置。
如果您的代码使用 uistack
来修改菜单、工具栏、按钮工具或切换工具的堆叠顺序,请对代码进行以下更新以保留以前的行为。
R2022b 或更早版本中的原始代码 | R2023a 中更新后的代码 |
---|---|
uistack(comp,"top") | uistack(comp,"bottom") |
uistack(comp,"up",step) | uistack(comp,"down",step) |
uistack(comp,"bottom") | uistack(comp,"top") |
uistack(comp,"down",step) | uistack(comp,"up",step) |
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)