例如,我有一个名为function1
的函数,它有一个变量,比如str1
,它包含一个字符串。
我还使用MATLAB的GUIDE
创建了一个GUI,其标签名为textgui
,其中静态文本标记为text1
。
如何将字符串str1
传递给GUI,以便在运行GUI时,静态文本text1
将显示变量str1
的字符串?
编辑:function1
将生成字符串str1
,然后调用GUI textgui
以显示字符串
EDIT2:以下是function1
的代码和textgui
的图片。
str1 = 'some text here';
textgui; % runs the GUI
我应该怎样做,以便在运行function1
时,GUI中的静态文本将显示为str1
包含的字符串?
感谢您的帮助!
答案 0 :(得分:1)
当您设置str1
的值时,您只想使用此变量更新静态文本对象的String
属性。
str1 = 'my string';
set(handles.text1, 'String', str1)
如果您的function1
不是GUI的回调,您可以随时使用findall
查找静态文本对象的句柄并将其设置为该方式。
str1 = 'my string';
set(findall(0, 'tag', 'text1'), 'string', str1)
如果您的函数正在初始化textgui
,那么您可以将字符串直接传递给GUI函数作为输入参数:
str1 = 'my string';
textgui(str1);
这要求您修改GUIDE定义的textgui_OpeningFcn
以处理输入参数(存储在varargin
中):
function textgui_OpeningFcn(hObject, eventdata, handles, varargin)
set(handles.text1, 'String', varargin{1})
% Leave the other stuff that GUIDE sets alone
end