Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-05-02
年龄: 38
帖子: 25
声望力: 18 ![]() |
![]()
各位高手,我是在GUIDE中设计界面的,但我发现里面的数值或者说函数,总是不易传递。
比如说,我在一个pushbutton的callback的语句下写命令得到了一个向量,我现在要将这个向量的值传递到 “function 界面名_OpeningFcn(hObject, eventdata, handles, varargin)”语句下来供调用,请问各位高手怎么实现。 我想这也是很多GUI初学者都想知道的。望高手能人学者给出一些易懂的方案。发在论坛上,让我们这些初学者进步更快。 谢谢! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-04-02
年龄: 39
帖子: 14
声望力: 18 ![]() |
![]()
可以考虑使用全局变量,global命令,自己help global一下
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-05-02
年龄: 38
帖子: 25
声望力: 18 ![]() |
![]()
我试了一下,好像不行,能不能说的更具体,或者还有其他的方法吗?
|
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-04-02
年龄: 39
帖子: 14
声望力: 18 ![]() |
![]()
在pushbutton-callback函数外,即界面的m文件中,利用global 定义你那个需要传递的向量。
|
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-05-02
年龄: 38
帖子: 25
声望力: 18 ![]() |
![]()
首先非常感谢你的回复,可我做了,确实不行。我现在把我的主程序贴过来,你看看是不是这么回事。如下:
% --- Executes just before shi is made visible. function shi_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to shi (see VARARGIN) x=I; X=fft(x); handles.current_data=x; plot(handles.current_data); % Choose default command line output for shi handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes shi wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = shi_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in dakai_pushbutton. function dakai_pushbutton_Callback(hObject, eventdata, handles) % hObject handle to dakai_pushbutton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) H={'*.wav'}; [filename,pathname]=uigetfile(H,'请选择需要打开的声音'); file=strcat(pathname,filename); I=wavread(file); sound(I); global I; % --- Executes on button press in huatu_pushbutton. function huatu_pushbutton_Callback(hObject, eventdata, handles) % hObject handle to huatu_pushbutton (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) plot(handles.current_data); 我现在要用到向量I的值(正如上面我想调用它一样),可准是显示错误:找不到I的值。到底怎么办啊? |
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-05-08
年龄: 39
帖子: 10
声望力: 17 ![]() |
![]()
在用global定义变量时,需要在每一个用到此变量的callback下,都定义一次这个变量。
比如说,你调用的变量名称是aa 那么凡是有用到aa变量的callback程序下,都要用global定义aa,即是global aa(只在GUI的m程序里定义就可以了)
__________________
追求卓越,完善自我 |
![]() |
![]() |
![]() |
#7 |
初级会员
注册日期: 2008-05-02
年龄: 38
帖子: 25
声望力: 18 ![]() |
![]()
高手tpwxhfh,我看你是刚注册的号,没想到你一进来就点中要旨,这个问题就解决了。特别感谢你。谢谢!当然也谢谢上面回复信息的人。谢谢你们无私的帮助。
|
![]() |
![]() |
![]() |
#8 |
初级会员
注册日期: 2008-04-13
年龄: 38
帖子: 24
声望力: 18 ![]() |
![]()
用userdata哦:biggrin:
|
![]() |
![]() |
![]() |
#9 |
初级会员
注册日期: 2008-05-07
年龄: 38
帖子: 19
声望力: 17 ![]() |
![]()
定义成global变量,在这个变量的出现地方和所有需要使用的地方都定义成global就可以了
|
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【求助】请问谁有matlab工具箱应用方面的书? | casc42 | MATLAB论坛 | 5 | 2008-09-22 16:53 |
matlab udp怎么用 急啊 | wjabcjw | MATLAB论坛 | 3 | 2008-06-24 12:40 |
求助图形颜色设置 | 李湖胜 | MATLAB论坛 | 0 | 2008-05-24 15:39 |
[求助]菜鸟求助用matlab产生chirp雷达信号及雷达回波的相关资料 | zpclff | MATLAB论坛 | 0 | 2008-04-21 18:48 |
【求助】如何在plot画图中输入上下标 | Constantine | MATLAB论坛 | 1 | 2008-01-16 19:02 |