spano 发表于 2007-4-27 07:48

Pop Menu 的问题

PRN 是一个 pop menu 的 Tag;
其值有1-24的整数值
当在callback 里面使用
   handles.Prn = get(handles.PRN,'string');
时,得到的 Prn 是:1
                               2
                               ...
                              24
当使用
   handles.Prn = get (handles.Prn,'value');
时得到的是   1(窗口载入时默认值是1);

2种情况下我用一个button(msgbox(handles.Prn);)来显示 Prn 内容时总是出现这样的错误
??? Reference to non-existent field 'Prn'.
Error in ==> D:\MATLAB6p5p1\work\GUIA.m (pushbutton1_Callback)
On line 252==> msgbox(handles.Prn);
Error in ==> D:\MATLAB6p5p1\toolbox\matlab\uitools\gui_mainfcn.m
On line 66==>         feval(varargin{:});
Error in ==> D:\MATLAB6p5p1\work\GUIA.m
On line 42==>   gui_mainfcn(gui_State, varargin{:});
??? Error while evaluating uicontrol Callback.

在其 callback 里面应该如何写才得到所选择的值呢?
同时我想用户在可以选择数据的同时还能够写入数据,应该怎么改 pop menu 的属性呢?

spano 发表于 2007-4-27 07:50

在窗口载入里面我已经用了Prn,为什么在button的回调函数里面会看不到Prn?

spano 发表于 2007-4-27 07:58

回复 #1 spano 的帖子

只能用 switch 来 控制 Prn 值吗?

雅凡 发表于 2007-4-27 08:18

和你遇到一样的问题,共同关注!

spano 发表于 2007-4-27 08:29

刚刚改好了。按照我的思路结果是 :

即使在载入函数里面新定义的变量也没有用,必须用已经存在的Tag才行,也就是在界面设置的过程中的tag。
上面这个例子中我把Prn改成了PRN就可以了。

雅凡 发表于 2007-4-27 08:43

谢谢!
页: [1]
查看完整版本: Pop Menu 的问题