how to change static text in MATLAB GUI?

 采纳的回答

First make up your string. Then set the 'String' property of the static text control to that string with the set() command. If it's in an intensive loop, you might have to use drawnow to get it to update immediately.
myString = sprintf('Hello world!\nThe value is %d', someVariable);
set(handles.text1, 'String', myString);
drawnow; % Needed only if this is in a fast loop.

7 个评论

@image analyst: your code is more simple. thanks sir !
It's even simpler if you use OOP syntax:
handles.text1.String = myString; % Do it like this instead of using set()
Thans a lot. Thats very helpful
@Image Analyst
Is there a way to permanently edit the static text, so that when launch the GUI again some other time, the text will be the updated one?
You can save the new value in a .mat file,
save('app settings.mat', 'myString');
then when your startup code runs again, load() the mat file and assign the prior/saved string to the control.
myString = load('app settings.mat', 'myString'); % Get string from mat file.
handles.text1.String = myString; % Send string to static text control on GUI.
Thanks, I was planning to save the string in a text file, This seems like a better idea.
If you want to bind the defaults to your copy of Matlab instead of the current folder, you can use setpref and getpref.

请先登录,再进行评论。

更多回答(1 个)

A very basic example:
f = figure;
t = uicontrol(f,'Style','text',...
'String','Select a data set.',...
'Position',[30 50 130 30]);
t.String = 'hello World';
This changes the static text from 'Select a data set.' to 'hello World'
Basically, all you are doing is changing the string property in an object that is of style text .
Does that help?

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by