How to evaluate calback function in edit text uicontrol?

9 次查看(过去 30 天)
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

采纳的回答

Matt Fig
Matt Fig 2012-10-19
编辑:Matt Fig 2012-10-19
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.

更多回答(2 个)

Walter Roberson
Walter Roberson 2012-10-19
Callbacks that are given as strings are executed in the context of the base workspace, so look for b there.

Imo
Imo 2012-10-20
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.

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by