Command Window to GUI figure

9 次查看(过去 30 天)
Hello, I have a question
I have a GUI figure and I want to see a text box in GUI. The text box will show what is written to the command window.
Is there a simple code for this?
Thx
  1 个评论
Rik
Rik 2019-3-15
Not that I'm aware of. What kind of output are you thinking of? Is there a reason why you cannot use a text box yourself and send your output there instead of the command window?

请先登录,再进行评论。

采纳的回答

Jan
Jan 2019-3-15
编辑:Jan 2019-3-15
Key = '== Start logging:'
fprintf('%s\n', Key);
... yourCode
Final = strsplit(CmdWinTool('getText'), char(10));
Match = find(strcmp(Final, Key), 1, 'last');
New = Final(Match + 1:end);
FigH = figure;
TextH = uicontrol('Style', 'edit', ...
'Units', 'normalized', ...
'Position', [0, 0, 1, 1], ...
'String', New);
UNTESTED CODE! Just for demonstration of the method.
But it would be much smarter, to create the output in the GUI directly instead of the indirection of the command window. Prefer to collect the output in a variable by replacing e.g. disp by a modified fprintf:
function Out = fprintfDelayed(varargin)
persistent Buffer
if isdouble(Buffer) % Initialized buffer as Cell string
Buffer = {};
end
if nargin == 0 % Flush the buffer
Out = Buffer;
Stored = {};
return;
end
newStr = sprintf(vargargin{:});
newCell = strsplit(newStr, char(10));
Buffer = cat(2, Buffer, newCell);
end
Now call this like:
fprintfDelayed('Hello\n');
fprintfDelayed('World\n');
Out = fprintfDelayed
and insert the cell string into your text field.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dialog Boxes 的更多信息

产品


版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by