Effacer les filtres
Effacer les filtres

pushbutton

8 vues (au cours des 30 derniers jours)
john
john le 14 Fév 2012
Modifié(e) : a le 12 Oct 2013
Hi,
can you help me?
I have pushbutton and static text. I need: If I press pushbutton, the value in static text should increase with number 1.
Thank you for your help

Réponse acceptée

Kevin Holst
Kevin Holst le 14 Fév 2012
Your code:
function pushbutton1_Callback(hObject, eventdata, handles)
% nacitanie prvku
h=findobj(0,'Type','figure','Tag','figure1');
UserData=get(h,'UserData');
prvok=0;
if ((str2double(get(handles.pushbutton1,'string'))) == 1)
for i=1:UserData.pocet_vetiev;
prvok=prvok+1;
end
set(handles.text1, 'String',{prvok});
end
is auto-generated code from GUIDE that will be run every time the button is pushed. That's what the pushbutton callback function does. As such, you don't need to attempt to check if it is pushed, which is what I think you are trying to do here:
if ((str2double(get(handles.pushbutton1,'string'))) == 1)
the solution here is a one liner (two if you count the function identifier):
function pushbutton1_Callback(hObject, eventdata, handles)
set(h.text1,'string',num2str(str2double(get(h.text1,'string'))+1))
That's what Sean meant by use the engine part of his code.
  5 commentaires
john
john le 14 Fév 2012
if it is blank, result is NaN
if there is any initial value in text, result is OK.
So, in my program.....how can I set to 1 for value handles.prvok for example with button pushbutton2:
function pushbutton4_Callback(hObject, eventdata, handles)
h=findobj(0,'Type','figure','Tag','figure1');
UserData=get(h,'UserData');
if (UserData.prvok < UserData.pocet_vetiev)
UserData.prvok=UserData.prvok+1;
set(handles.prvok,'String',{UserData.prvok});
elseif (UserData.prvok > UserData.pocet_vetiev || UserData.prvok == UserData.pocet_vetiev )
set(handles.prvok, 'String','enough');
end
function pushbutton2_Callback(hObject, eventdata, handles)
UserData.prvok=1;
set(handles.prvok,'String',{UserData.prvok});
john
john le 14 Fév 2012
point 1. If I press button4, value increasing...this is OK.
point 2.If I press button2, value is set to 1....this is OK.
point 3. But, if I press in next step button 4, result is not 2, but result is value from point 1 + 1....
I don't understand

Connectez-vous pour commenter.

Plus de réponses (1)

Sean de Wolski
Sean de Wolski le 14 Fév 2012
figure;
ht = uicontrol('units','norm','position',[0.5 0.5 0.1 0.1],'style','text','string','0');
hp = uicontrol('style','push','string','Increment','callback',{@(src,evt,H)set(H,'string',num2str(str2double(get(H,'string'))+1)),ht});
  4 commentaires
john
john le 14 Fév 2012
Sorry,
how Can I increase value without button "Increase", but with button "pushbutton1".
Sorry I'm not good in this.
Please help me
john
john le 14 Fév 2012
here is my code:
function pushbutton1_Callback(hObject, eventdata, handles)
% nacitanie prvku
h=findobj(0,'Type','figure','Tag','figure1');
UserData=get(h,'UserData');
prvok=0;
if ((str2double(get(handles.pushbutton1,'string'))) == 1)
for i=1:UserData.pocet_vetiev;
prvok=prvok+1;
end
set(handles.text1, 'String',{prvok});
end

Connectez-vous pour commenter.

Catégories

En savoir plus sur Entering Commands dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by