【问题标题】:Matlab GUI table rowMatlab GUI表格行
【发布时间】:2017-06-26 14:38:49
【问题描述】:

我正在尝试将数据添加到我创建的 GUI 表的一行,但是每当我按下按钮时,数据都会发布到第 5 行而不是第 1 行。当我在 GUI 中创建表时,它已经有 4 行,我尝试删除它们,但它们继续出现。

data = get(handles.uitable1, 'data');   
k = size(data,1)+1; 

if k == 1
    B = num2cell(data);
else
    B = data;
end

B{k,1} = xrange;
B{k,2} = xmoment;
B{k,3} = xmad;
B{k,4} = xiqr;
B{k,5} = xstd;
B{k,6} = xvar;

set(handles.uitable1, 'data', B);

由于表格已经有 4 行,因此大小将为 4,并且每按一次按钮就会增加 1。有没有办法开始在第一行插入数据然后正常递增? 大家可以看看下图中数据是如何插入的。

【问题讨论】:

  • 我怀疑您的数据只是一个包含 4 行的 NaN 值的单元格,如果您已经有表格的话。尝试找到具有所有 NaN 值的第一行并将其用于 k。您可以为此使用isnanall 函数

标签: matlab matlab-guide


【解决方案1】:

您的问题与表的初始化有关。如果你想要一个空表,插入这一行

set(handles.uitable1,'data',{});

在GUI的打开函数中,function myGUI_OpeningFcn(hObject, eventdata, handles, varargin)

你说得对,在 GUIDE 中尝试清空表数据似乎是徒劳的。

【讨论】:

  • 谢谢!但我已经想通了!我已经加载了一个空的工作区变量,现在工作得很好!再次感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多