MATLAB:如何将字符串变量从函数传递到 GUI?
MATLAB : how to pass the string variable from a function to GUI?
例如,我有一个名为 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
包含的字符串?
感谢帮助!
当您设置 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
例如,我有一个名为 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
包含的字符串?
感谢帮助!
当您设置 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