【问题标题】:How to retrieve data point into edit text from matlab workspace to gui?如何将数据点检索到从 matlab 工作区到 gui 的编辑文本中?
【发布时间】:2011-11-28 18:57:38
【问题描述】:

我的 matlab 工作区中有 8x1 单元矩阵,称为 textdata。它在每一行中都包含代码。如何使用按钮和edit1_Callbacks 来编写这个基本的数据点检索操作(代码是什么,我在哪里输入?没有花哨的东西,只想知道如何将文本数据导入 gui 并通过一个按钮将第一个代码检索到编辑文本框中(文本数据第一行的一个数据点)?

【问题讨论】:

  • 你应该开始接受给定的答案以获得新的答案。
  • 好的,谢谢您的提示...不知道。你能帮我解决这个基本问题吗?
  • 到目前为止你做了什么?尝试发布一个演示您的问题的最小原型。
  • if (isempty(input)) set(hObject,'String','Ticker1') end guidata(hObject, handles);但我不确定它是否可以读取 Ticker1,因为我还没有从工作区导入内容...帮助!

标签: matlab user-interface text edit


【解决方案1】:

您可以使用 Matlab 函数 evalin 从您的 GUI 中检索工作区变量。

以下示例 GUI 演示了这一点,您可能可以从这个起点展开:

% GUI
function so_wsgui
figure('units','normalized',...
    'position',[0.15 0.15 0.7 0.7],...
    'color',[1 1 1]*0.5,...
    'numbertitle','off',...
    'menubar','none',...
    'toolbar','none',...
    'tag','figure');
data=guihandles(gcf);
uicontrol('parent',data.figure,...
    'style','pushbutton',...
    'string','Import',...
    'units','normalized',...
    'position',[0.1 0.85 0.8 0.05],...
    'callback',@import_callback);
uicontrol('parent',data.figure,...
    'style','edit',...
    'horizontalalignment','center',...
    'backgroundcolor',[1 1 1],...
    'units','normalized',...
    'position',[0.1 0.5 0.8 0.05],...
    'tag','text');
data=guihandles(gcf);
guidata(gcf,data);
end
% Callbacks
function import_callback(obj,event) %#ok
data=guidata(gcbf);
try
    wsvar=evalin('base','textdata');
    set(data.text,'string',wsvar{1});
catch exception
    set(data.text,'string',['Error: ' exception.identifier]);
end
end

但是,您必须对此小心,因为没有任何东西可以保证该变量存在或它是一个元胞数组,因此您必须小心。这并不是将数据传递到 GUI 的常用方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2015-06-17
    • 1970-01-01
    相关资源
    最近更新 更多