未保存合适的内容
Content of a uitable is not being saved
我正在尝试为多种用途编写一个 GUI,它看起来像这样,
其中之一是通过 uitable 根据用户输入创建矩阵,因此在 untitled_OpeningFcn
中预定义了大小并启用了单元格版本
set(handles.uitable1,'Data',cell(2,3));
set(handles.uitable1,'ColumnEditable',true(1,3))
在pushbutton2_Callback
中,我尝试读取table中写入的数据,将其存储并显示在静态文本字段中:
value=get(handles.uitable1,'Data');
value=str2double(value);
set(handles.text2,'String',num2str(value));
但是当它是 运行 时,文本字段显示 "NaN"
,所以数据没有被保存。
还需要什么?
更新
感谢回答,它没有给出预期的结果
使用原始代码时,它会给出下一个输出
当使用 suggete mat2str 时,我得到了这个
我认为你的问题的原因是行
value = get(handles.uitable1,'Data');
不会产生任何可转换为数字的结果。
考虑以下示例:
hF = uifigure(); % works the same way with `figure()`.
hT = uitable(hF,'Data',[1 2 3; 4 5 6]);
然后,考虑以下几点:
>> hT.Data
ans =
1 2 3
4 5 6
>> class(hT.Data)
ans =
'double'
>> str2double(hT.Data)
ans =
NaN
>> mat2str(hT.Data)
ans =
'[1 2 3;4 5 6]'
总而言之 - 您可能需要的是 mat2str
。
我正在尝试为多种用途编写一个 GUI,它看起来像这样,
untitled_OpeningFcn
中预定义了大小并启用了单元格版本
set(handles.uitable1,'Data',cell(2,3));
set(handles.uitable1,'ColumnEditable',true(1,3))
在pushbutton2_Callback
中,我尝试读取table中写入的数据,将其存储并显示在静态文本字段中:
value=get(handles.uitable1,'Data');
value=str2double(value);
set(handles.text2,'String',num2str(value));
但是当它是 运行 时,文本字段显示 "NaN"
,所以数据没有被保存。
还需要什么?
更新
感谢回答,它没有给出预期的结果
使用原始代码时,它会给出下一个输出
当使用 suggete mat2str 时,我得到了这个
我认为你的问题的原因是行
value = get(handles.uitable1,'Data');
不会产生任何可转换为数字的结果。 考虑以下示例:
hF = uifigure(); % works the same way with `figure()`.
hT = uitable(hF,'Data',[1 2 3; 4 5 6]);
然后,考虑以下几点:
>> hT.Data
ans =
1 2 3
4 5 6
>> class(hT.Data)
ans =
'double'
>> str2double(hT.Data)
ans =
NaN
>> mat2str(hT.Data)
ans =
'[1 2 3;4 5 6]'
总而言之 - 您可能需要的是 mat2str
。