Help: Pass data from seperate .m file to GUI .m file?

1 次查看(过去 30 天)
Hello everybody,
I have a .m file (named file 1) generated from .fig file and a seperate .m file to calculate (named file 2). There're two values a and b from end user through GUI. These values will be passed to file 2 to calculate a + b. The result will be assigned to res variable in file 2. When user pushes a button in GUi, it will show res variable in the static text field.
Could someone please tell me how to do it?
The code of .m file 1. I also attached files below.
function y=file2(handles)
clc
a=str2num(get(handles.a,'string'));
b=str2num(get(handles.b,'string'));
res=a+b;
%
  2 个评论
Stephen23
Stephen23 2014-10-8
编辑:Stephen23 2014-10-8
The names of the files and the function names do not match ( file1.m contains function file2 ). The text editor should have highlighted this.
Khanh
Khanh 2014-10-8
This is the approach by using 3 files. I recently found out on Youtube. The file 1 can retrieve the data from GUI and calculate.

请先登录,再进行评论。

回答(1 个)

Stephen23
Stephen23 2014-10-8
Almost there. You used get to retrieve data from the edit fields, now you can use set to assign the value res to the text field.
  2 个评论
Khanh
Khanh 2014-10-8
Thanks for your reply.
I also tried it. I put the
set(handles.res,'string',num2str(res))
in the file 2.
GUI showed it eventhough I didn't push the button. It wasn't what I want.
Stephen23
Stephen23 2014-10-8
编辑:Stephen23 2014-10-8
Yes, the set command needs to happen in the pushbutton's callback function . For this you can easily define your own anonymous function which includes the set command.
The concept is this:
  • The button is pressed.
  • The button calls its callback function (which you can define).
  • Your callback function sets the string value (or does anything else that you want to do).
This is explained in more detail in the docs:

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by