Effacer les filtres
Effacer les filtres

How to get dynamic/changing text or data in MATLAB GUI in a panel window??

27 vues (au cours des 30 derniers jours)
P
P le 19 Déc 2013
How can I manipulate text/numerical data from my matlab code onto my GUI in a panel box?
I want to print values from data in my script and have them on my GUI. I'm aware of static text and the edit text box, but I want the text which is displayed to come from values in my script. Example from data in my script:
Value = 50;
Then I want matlab to print Value to a panel on my GUI where a static text box says -
My number is:
Value
i.e My number is:
50

Réponse acceptée

Image Analyst
Image Analyst le 19 Déc 2013
Call set():
set(handles.staticText1, 'String', num2str(value));
You might even be able to get away with not using num2str() - I'd have to try it to see though. Obviously replace staticText1 with whatever name you gave to the "tag" property of the edit text or static text control that you want to set the value of. So bottom line, whenever you want to change or update the value of the text control, call set().
However, one watch out : If you're in an intensive loop it might not have a chance to update the GUI before it goes racing along with your loop. It might even finish your loop without ever updating the text. If that happens, put a " drawnow " command right after the "set" command.
  4 commentaires
Craig Kavan Pinto
Craig Kavan Pinto le 7 Nov 2016
When you say call 'set', where exactly do you call it? I have a similar problem, where my script (lets say Part1.m) has a value that i want to send to a gui (lets say Part2.gui and Part2.fig). However, I am not able to find the set function, or most probably i am calling it at the wrong place. Thanks in advance for the help.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 19 Déc 2013
A = uicontrol('Style','text','max',2, 'Units', 'norm', 'Position',[0 0 1 1]);
S = {'My value is:'};
for K = 1 : 10
S{2} = sprintf('%d', K);
set(A, 'String', S);
pause(1/2);
end
  3 commentaires
Walter Roberson
Walter Roberson le 19 Déc 2013
Your GUI cannot pull the values calculated from your script. Your script will have to push values to the GUI.
To get text onto the GUI, you will need to use text(), which works in a graphics axis, or you will need to set() a property of a uicontrol() that you already created and put into position. Yes, you will need handles to do this. You can add a Tag property to the output component to allow you to find the component without knowing its handle ahead of time.
P
P le 19 Déc 2013
Thanks for your help

Connectez-vous pour commenter.

Catégories

En savoir plus sur Migrate GUIDE Apps dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by