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控件的问题的主要内容,如果未能解决你的问题,请参考以下文章

matlab GUI中创建了popupmenu但不显示,如下图

matlab设置用户缺省控件单位属性值

matlab gui图像带legend保存

急急急!!!matlab gui界面设计

matlab怎么修改编辑好的gui

怎样在MATLAB GUI界面中调用另外一个GUI界面