matlab GUI 中popupmenu控件的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab GUI 中popupmenu控件的问题相关的知识,希望对你有一定的参考价值。
通过“确定”按钮可以选择网络层数,例如我选择3层,那么下面的popupmenu控件的下拉框就有1、2、3。如果我选择6层,选择确定按钮后,popupmenu控件的下拉框就有1、2、3、4、5、6。所以给popupmenu控件的String属性添加数据是没有问题。现在的问题是如果此时我在popupmenu控件下拉框中选择了6,我再修改选择层数,例如选择4层,则popupmenu控件无法显示;如果此时我再选择了8层,那么又能正常给popupmenu控件的String属性添加数据了。
控件当然无法正常显示了,当你将层数变小时popupmenu原来的Value值超出了你新给定的Value值范围,所以出错。你可以添加一句话(pushbutton回调函数中)
set(handles.popupmenu1,'value',1); %假设popupmenu的Tag为popupmenu1
这样就没问题了 参考技术A 因为你的网络层数是动态变化的,这样导致matlab的popupmenu的value值变化后,会固定,固定后,你之后输入的参数数目少于value值,就会无法正常显示,建议在赋给下拉框string的同时,赋予value值。如
set(handles.popupmenu_ip,'value', length(ips), 'string', ips);
以上是关于matlab GUI 中popupmenu控件的问题的主要内容,如果未能解决你的问题,请参考以下文章