查看单个帖子
旧 2019-12-10, 20:30   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在MATLAB中的GUI中将功能中的某些内容显示到显示窗口中?

我有一个函数sumsurface ,可在以下代码中使用该函数在命令窗口中显示某些值:

if sumsurface(i) < .01 && sumsurface(i) > -.01 disp(sumsurface(i)); disp(pH(i)); end 但是,我改为在GUI的显示窗口上显示sumsurface(i)和pH(i) 。我怎样才能做到这一点?



回答:

如果要显示数字(而不是绘制数字),则有几种选择。一种非常简单的方法是使用MSGBOX功能打开对话框并显示字符串。您必须首先使用INT2STRNUM2STRSPRINTF之类的函数将您的数字转换为字符串表示形式 。这是一个例子:

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)]); 这是该图的样子:





更多&回答...
poster 当前离线   回复时引用此帖