如何在可滚动的编辑控件中显示矩阵?

时间:2010-05-14 14:54:33

标签: user-interface matlab

我试图通过以下方式在编辑控件中显示矩阵值:

 LrOut = num2str(Lr(:, :, currentPosition));
    LqOut = num2str(Lq(:, :, currentPosition));
    set(handles.txtLr, 'String', LrOut);
    set(handles.txtLq, 'String', LqOut);

其中txtLq和txtLr是编辑控件:

alt text http://img534.imageshack.us/img534/2748/gui1e.jpg

当执行上面的代码时,控件会消失: alt text http://img168.imageshack.us/img168/1910/gui2r.jpg

Lq和Lr是m×n矩阵,其中m和n是1到8及以上的值,因此如果值可以在可滚动的编辑控件中显示,将会很有用。

是否有人知道问题的原因是什么以及如何修改当前代码以便正确显示值并在文本大小超过控件大小时启用滚动?

谢谢。

1 个答案:

答案 0 :(得分:4)

您必须将编辑控件的Max属性设置为行数。

set(handles.txtLr, 'Max', size(Lr,1));
set(handles.txtLq, 'Max', size(Lq,1));

我还建议您查看UITABLE控件以显示矩阵。您可以使用

更新数据
set(handles.uitable1, 'Data', Lr(:, :, currentPosition))
set(handles.uitable2, 'Data', Lq(:, :, currentPosition))

如果数据大小超过控件大小,两者都会在右侧和底部有滑块。