我有一个函数sumsurface ,可在以下代码中使用该函数在命令窗口中显示某些值:
if sumsurface(i) < .01 && sumsurface(i) > -.01 disp(sumsurface(i)); disp(pH(i)); end 但是,我改为在GUI的显示窗口上显示sumsurface(i)和pH(i) 。我怎样才能做到这一点?
回答:
如果要
显示数字(而不是
绘制数字),则有几种选择。一种非常简单的方法是使用
MSGBOX功能打开对话框并显示字符串。您必须首先使用
INT2STR ,
NUM2STR或
SPRINTF之类的函数将您的数字转换为字符串表示
形式 。这是一个例子:
sumsurface = rand; %# Pick a random number pH = rand; %# Pick another random number str = {['sumsurface = ' num2str(sumsurface)]; ... ['pH = ' num2str(pH)]}; %# Creates a 2-by-1 cell array of strings msgbox(str); 这是结果对话框:
您还可以使用
UICONTROL函数自己创建静态文本框。如果要将文本框插入到现有的GUI中,这将是一个更好的选择。这是如何初始化GUI的图形和文本框的示例:
hFigure = figure('Position',[300 300 150 70],... 'MenuBar','none'); hText1 = uicontrol('Style','text','Parent',hFigure,... 'Position',[10 40 130 20],... 'BackgroundColor',[0.7 0.7 0.7]); hText2 = uicontrol('Style','text','Parent',hFigure,... 'Position',[10 10 130 20],... 'BackgroundColor',[0.7 0.7 0.7]); 现在,您可以使用文本框的句柄将String属性更新为您想要显示的内容:
set(hText1,'String',['sumsurface = ' num2str(rand)]); set(hText2,'String',['pH = ' num2str(rand)]); 这是该图的样子:
更多&回答...