Main Content

chooseContextMenu

类: matlab.uitest.TestCase
包: matlab.uitest

在上下文菜单项上执行选择手势

说明

示例

chooseContextMenu(testcase,comp,menuitem) 在 UI 组件 comp 的中心执行右键点击以打开上下文菜单。该方法随后会选择指定的 menuitem

示例

chooseContextMenu(testcase,comp,menuitem,location) 指定在组件中打开上下文菜单的位置。您只能基于五个可用组件来指定位置:坐标区、UI 坐标区、极坐标区、面板和 UI 图窗。

示例

chooseContextMenu(testcase,uit,menuitem,indices) 右键点击表 UI 组件 uit 中由 indices 指定的单元格。该方法随后会选择指定的 menuitem

输入参数

全部展开

测试用例的实例,指定为 matlab.uitest.TestCase 对象。

具有上下文菜单的 UI 组件,指定为 UI 组件对象。上下文菜单必须包括 menuitem 所指定的菜单项。支持上下文菜单的组件包括图像、按钮、开关、坐标区和图窗。

支持的组件典型的创建函数
坐标区axes
按钮uibutton
复选框uicheckbox
日期选择器uidatepicker
分档旋钮uiknob
下拉列表uidropdown
编辑字段(数值、文本)uieditfield
图像uiimage
旋钮uiknob
列表框uilistbox
面板uipanel
极坐标区polaraxes
单选按钮uiradiobutton
滑块uislider
微调器uispinner
状态按钮uibutton
开关(跷板、滑块、拨动)uiswitch
文本区域uitextarea
切换按钮uitogglebutton
树节点uitreenode
UI 坐标区uiaxes
UI 图窗uifigure

示例: uifigure

示例: axes('Position',[0.1 0.1 .6 .6])

示例: uispinner('Limits',[0 10],'Value',5)

测试期间要选择的上下文菜单项,指定为 matlab.ui.container.Menu 对象。菜单项是使用 uimenu 函数创建的。

在 UI 组件中打开上下文菜单的位置,指定为点的坐标。location 的形式取决于 UI 组件:

  • 坐标区和 UI 坐标区 - 1×2 或 1×3 数值数组,其中包含 x、y 以及可选的 z 坐标。

  • 极坐标区 - 1×2 数值数组,其中包含 θ 和 r 坐标。

  • 面板和 UI 图窗 - 1×2 数值数组,其中包含 x 和 y 坐标。指定要右键点击的点的坐标,以组件左下角为起点测量(以像素为单位)。

示例: [32.5 13 0.25](UI 坐标区)

示例: [pi/2 0.5](极坐标区)

示例: [100 200](UI 图窗)

目标表 UI 组件,指定为 matlab.ui.control.Table 对象。表 UI 组件是用 uitable 函数创建的。

要右键点击的表单元格的索引,指定为 1×2 向量,行索引出现在列索引之前。

示例: [2 3]

属性

Sealedtrue

要了解方法的属性,请参阅方法属性

示例

全部展开

在 UI 图窗中创建一个具有两个菜单项的上下文菜单。通过将图窗的 ContextMenu 属性设置为 ContextMenu 对象,将该上下文菜单分配给图窗。要查看上下文菜单,请右键点击图窗窗口中的任意位置。

fig = uifigure;

cm = uicontextmenu(fig);
m1 = uimenu(cm,'Text','Menu1');
m2 = uimenu(cm,'Text','Menu2');

fig.ContextMenu = cm;

创建一个交互式测试用例,并选择菜单项 m1。上下文菜单和一个蓝点出现在图窗的中心。然后,表示编程选择手势的另一个蓝点出现在所选菜单项的中心,然后消失。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.chooseContextMenu(fig,m1)

在 UI 图窗中创建一个 Axes 对象。将一个具有两个菜单项的上下文菜单分配给 Axes 对象。

fig = uifigure;
ax = axes(fig);

cm = uicontextmenu(fig);
m1 = uimenu(cm,'Text','Menu1');
m2 = uimenu(cm,'Text','Menu2');

ax.ContextMenu = cm;

创建一个交互式测试用例,并通过打开坐标区 (0.85,0.2) 坐标处的上下文菜单来选择菜单项 m2。上下文菜单和一个蓝点出现在指定的坐标区坐标处。然后,表示编程选择手势的另一个蓝点出现在第二个菜单项的中心,然后消失。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.chooseContextMenu(ax,m2,[0.85 0.2]);

创建一个包含混合使用的不同数据类型的表 UI 组件。然后,将一个包含两个菜单项的上下文菜单分配给该表。

fig = uifigure;
uit = uitable(fig);
d = {'Male',52,true;'Male',40,true;'Female',25,false};
uit.Data = d;

cm = uicontextmenu(fig);
m1 = uimenu(cm,'Text','Menu1');
m2 = uimenu(cm,'Text','Menu2');
uit.ContextMenu = cm;

创建一个交互式测试用例,并通过在索引为 (1,1) 的表单元格中打开上下文菜单来选择菜单项 m2

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.chooseContextMenu(uit,m2,[1 1])

版本历史记录

在 R2020b 中推出

全部展开