How to pass a variable to a function in GUI?

Hi,
Please see the graphs shown below.
In part A (the part which will execute when button is pressed), you can see that I am trying to load a .mat file. There is a variable called 'RGB' saved in this .mat file.
And in part B, I am also trying to use the same variable RGB without loading it again.However, the RGB from part A would not be passed to part B just like that.
I also tried in part A I wrote:
handles.RGB=RGB;
and in part B I wrote:
RGB= handles.RGB
But it didn't work. Could anyone help please?

3 件のコメント

Adam
Adam 2018 年 2 月 26 日
You missed the line
guidata( hObject, handles )
from what you say you tried. Without this 'handles' is just a local copy of the struct in pushbutton1_Callback and goes out of scope when the function ends.
Stephen23
Stephen23 2018 年 2 月 26 日
編集済み: Stephen23 2018 年 2 月 26 日
Rather than using the command syntax of load it is recommended to use the function syntax, and load into an output variable (which is a structure). This will make it more obvious that the data has been loaded into that callback's workspace only:
S = load('Picture.mat');
handles.RGB = S.RGB;
guidata(hObject, handles) % you forgot this!
Salad Box
Salad Box 2018 年 2 月 26 日
Thank you both! After I posted this article, I did realize I missed
guidata(hObject, handles);
Thank you again!!!!!

サインインしてコメントする。

 採用された回答

Adam
Adam 2018 年 2 月 26 日

0 投票

Personally I use guidata if I am creating a GUIDE UI, but there are various different approaches in that link

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeInteractive Control and Callbacks についてさらに検索

質問済み:

2018 年 2 月 26 日

コメント済み:

2018 年 2 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by