对UI组件的行为进行编码涉及特定的任务,这些任务对于您正在使用的组件类型是唯一的。本主题包含每种组件类型的回调的简单示例。除非另有说明,本示例仅供参考。有关编写回调的一般信息,请参阅指南中的写回调或以编程方式创建的应用的写回调。
工具/原料
电脑
matlab软件
如何使用示例代码
1、如果使用的是指南,请右键单击布局中的组竭惮蚕斗件,然后从“查看回调”菜单中选择适当的回调属性。这样做会创建一个自动与组围泠惶底件关联的空回调函数。GUIDE创建的特定函数名基于组件的标记属性,因此函数名可能与示例代码中的函数名略有不同。不要更改GUIDE在代码中创建的函数名。要在应用程序中使用示例代码,请将示例的函数体中的代码复制到函数体中。pb = uicontrol('Style','pushbutton','Callback',@pushbutton1_Callback);
按钮
1、这段代码是GUIDE中按钮回调函数的一个示例。将此函数与按钮回调属性相关联,使其在最终用户单击按钮时执行。function pushbutton1_Callback(hObject, ev髫潋啜缅entdata, handles)display('Goodbye');close(gcf);第一行代码display('Goodbye')在命令窗口中显示“Goodbye”。下一行使用gcf获取UI窗口,然后关闭它。
切换按钮
1、此代码是GUIDE中切换按钮回调函数的示例。将此函数与toggle button Callback属性关联,使其在最终用户单击toggle按钮时执行。
单选按钮
1、此代码是GUIDE中单选按钮回调函数的示例。将此函数与单选按钮回调属性关联,使其在最终用户单击单选按钮时执行。
复选框
1、此代码是GUIDE中复选框回调函数的示例。将此函数与复选框回调属性关联,使其在最终用户单击复选框时执行。
编辑文本字段
1、此代码是GUIDE中编辑文本字段的回调示例。当最终用户在文本字段中键入内容时,将此函数与该控件的回调属性相关联以使其执行。
2、检索数值如果要将编辑文本字段的内容解释为数值,请使用str2double函数将字符转换为数字。对于非数值输入,str2double函数返回NaN。此代码是将用户输入解释为数值的编辑文本字段回调函数的示例。
滑块
1、这段代码是GUIDE中滑块回调函数的一个示例。将此函数与slider Callback属性关联,使其在最终用户移动滑块时执行。
列表框
1、在列表框中填充项如果您正在使用GUIDE开发应用程序,请使用列表框CreateFcn callback将项目添加到列表框中。这段代码是一个列表框CreateFcn回调的示例,它用红色、绿色和蓝色的项填充列表框。
2、最后一行set(hObject,'String',{'Red';'Green';'Blue'})填充列表框的内容。如果您是以编程方式(不带GUIDE)开发应用程序,则在创建时填充列表框。例如:
3、例如,可以使用GUIDE中的句柄结构访问列表框并更改值属性:set(handles.listbox1,'Value',2)第一个参数handles.listbox1在代码中可能不同,这取决于list box Tag属性的值。
4、编写回调函数此代码是GUIDE中列表框回调函数的示例。将此函数与列表框回调属性关联,使其在选择列表框中的项时执行。
弹出式菜单
1、在弹出菜单中填充项目如果您正在使用指南开发应用程序,请使用弹出菜单CreateFcn callback向弹出菜单添加项。这段代码是一个弹出菜单CreateFcn回调的例子,它用红色、绿色和蓝色的项填充菜单。
2、最后一行set(hObject,&拭貉强跳#39;String',{'Red';'Green';'Blue'})填充弹出淖橐郝芴菜单的内容。如果您是以编程方式(不带GUIDE)开发应用程序,则在创建时填充弹出菜单。例如:
3、更改所选项楫默礤鲼目当最终用户选择一个项目时,弹出菜单的值属性将更改为与该项目在菜单中的位置相对应的数字。例如,值1对应于列表中的第一剐疫柩缓项。如果要更改代码中的选择,请将“值”属性更改为1到菜单中项目数之间的另一个数字。例如,可以使用指南中的句柄结构访问弹出菜单并更改值属性:set(handles.popupmenu1,'Value',
4、编写回调函数此代码是指南中弹出菜单回调函数的示例。将此函数与弹出菜单回调属性关联,使其在最终用户从菜单中选择项时执行。
面板
1、使面板响应按钮单击此代码是GUIDE中ButtonDownFcn回调的示例。当最终用户单击面板时,此函数将在命令窗口中显示文本“鼠标按钮已按下”。
2、调整窗口和面板的大小默认情况下,无法调整GUIDE ui的大小,但可以通过选择“工具>GUI选项”并将“调整大小”行为设置为“成比例”来覆盖此行为。如果您的UI包含嵌套面板,那么它们将从内到外(按子到父的顺序)调整大小。
按钮组
1、按钮组类似于面板,但它们也管理单选按钮和切换按钮的独占选择。当按钮组包含多个单选按钮或切换按钮时,按钮组允许最终用户仅选择其中一个。
菜单项
1、本节中的代码包含示例回调函数,当最终用户在此菜单中选择“编辑>复制>到文件”时,这些函数会做出响应。
2、strcmp函数比较两个字符向量,当它们版醋矣铛匹配时返回true。在本例中,当菜单项的Checked属性与字符向量“on”匹配时,返回true。有关在指南中创建菜单项的详细信息,请参阅为汜枸赓觅指南应用程序创建菜单。有关以编程方式创建菜单项的详细信息,请参见为编程应用创建菜单。
表格
1、这段代码是表回调函数CellSelectionCallback的一个示例。将此函数与表CellSelectionCallback属性关联,使其在最终用户选择表中的单元格时执行。
2、当最终用户选择表中的单元格时,此函数将执行以下任务:获取表中的所有值并将其存储在变量data中。
3、当最终用户完成对表格单元格的编辑时,此函墙绅褡孛数将获取表格中的所有值并计算所有表格值的总和。必须在至少一坐逃缥卯列中将ColumnEditable属性设置为true,以允许最终用户编辑表中的单元格。有关在指南中创建表和修改其属性的详细信息,请参见将组件添加到指南布局区域。
轴
1、本节中的代码是轴按钮downfcn的一个示例,当最终用户单击轴时会触发该按钮。