matlab 此类型的变量不支持使用点进行索引错误 get() set()函数错误-GUI程序

在使用GUIDE创建的MATLABGUI中,直接运行.fig文件会出现句柄引用错误。问题在于句柄不是全局结构,而是每个GUI特有的。通过使用findobj函数找到对象句柄再进行赋值可以解决问题,例如:edit1=findobj(0,tag,edit1);Input=get(edit1,string)。这种方法避免了直接通过handles获取句柄导致的错误。
摘要由CSDN通过智能技术生成

直接双击运行通过GUIDE创建的.fig文件,就会报这个错误;

运行对应的.m文件不会报错

问题出现在这条语句:

Input=get(handles.edit1,'String');

就是把编辑文本框edit1里的输入赋值到Input里面,形式为str字符串,

如果使用GUIDE创建gui界面时,传递到函数中的句柄结构始终引用针对图形元素所在的图形存储的信息。句柄不是全局结构,而是每个GUI的结构。

解决办法就是首先找到这个句柄对象再进行赋值

修改如下:

edit1=findobj(0, 'tag', 'edit1');
Input= get(edit1,'string');

这样就不会报错了

关于set出现该问题,请参考CSDN博主「只能喝零度的胖子」的原创文章
原文链接:https://blog.csdn.net/arthas8787/article/details/108845059

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值