How to evaluate calback function in edit text uicontrol?

I have just started to learn about low-level GUI programing.
Is this the right way to write code. I need my variable b to change every time i hit new entry into edit text but I'm not geting that.
Am I missing evaluate function somewhere?
This is a simple example
fig_h=figure;
callb=['b=get(a,''string'')']
a=uicontrol(fig_h,'Position',[ .5 .5 .08 .06],'Style','edit','CallBack','callb','String','0','Units','normalized');
Thanks

 Akzeptierte Antwort

Matt Fig
Matt Fig am 19 Okt. 2012
Bearbeitet: Matt Fig am 19 Okt. 2012
Please do not program callback using strings. Use function handles instead. Save this in an M-file then run the file to see how it works.
function [] = my_gui()
fig_h=figure;
a = uicontrol(fig_h, 'Style','edit',...
'Units','normalized',...
'Position',[.5 .5 .08 .06],...
'CallBack',@callb,...
'String','0');
function [] = callb(H,E)
a = get(H,'string');
disp(['The string in the editbox is: ',a])
Here is a tutorial that starts basic and builds up to more advanced GUIS. I encourage you to work through it.

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 19 Okt. 2012

0 Stimmen

Callbacks that are given as strings are executed in the context of the base workspace, so look for b there.
Imo
Imo am 20 Okt. 2012

0 Stimmen

Thanks, I will try that. I guess no one likes the string approach maybe because it is really hard to read. I'm going to study function build. Thanks for the tip and new materials, I appreciate.

Kategorien

Mehr zu Variables finden Sie in Hilfe-Center und File Exchange

Gefragt:

Imo
am 19 Okt. 2012

Community Treasure Hunt

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

Start Hunting!

Translated by