我正在尝试在MatLab中为GUI创建一个简单的网格,我想要一个静态文本,然后将一个可编辑的框作为输入,如下所示:
+-----------------------+---------------+
| Name 1 (1) | Input 1 (2)|
| | |
+-----------------------+---------------+
| Name 2 (1) | Input 2 (2)|
| | |
+-----------------------+---------------+
我正在使用Grid class中的GUI Layout Toolbox,代码如下:
% Parameters Section:
staticPropPanel = uiextras.BoxPanel('Parent', paramPanel, 'Title', 'Signal Properties:');
sPropGrid = uiextras.Grid('Parent', staticPropPanel, 'Spacing', 5);
uicontrol('Style', 'text', 'Parent', sPropGrid, 'String', 'Number of Samples');
nSamples = uicontrol('Style', 'edit', 'Parent', sPropGrid);
uicontrol('Style', 'text', 'Parent', sPropGrid, 'String', 'Sampling Frequency (Fs) in Hz');
Fs = uicontrol('Style', 'edit', 'Parent', sPropGrid);
uicontrol('Style', 'text', 'Parent', sPropGrid, 'String', 'Carrier Frequency (Fc) in Hz');
Fc = uicontrol('Style', 'edit', 'Parent', sPropGrid);
set(sPropGrid, 'ColumnSizes', [-3 -1], 'RowSizes', [25 25 25]);
但是,在网格“调整大小”之后,网格未按正确顺序正确添加元素。例如,在执行set(sPropGrid, 'ColumnSizes', [-3 -1], 'RowSizes', [25 25 25]);
之前,我得到以下内容:
然而 后调整大小,我得到以下内容:
如何更改调整大小的顺序,以便将正确的元素放置在正确的位置?
答案 0 :(得分:1)
如果查看GUI Layout Toolbox附带的文档,您将看到以下示例:
f = figure();
g = uiextras.Grid( 'Parent', f, 'Spacing', 5 );
uicontrol( 'Parent', g, 'Background', 'r' )
uicontrol( 'Parent', g, 'Background', 'b' )
uicontrol( 'Parent', g, 'Background', 'g' )
uiextras.Empty( 'Parent', g )
uicontrol( 'Parent', g, 'Background', 'c' )
uicontrol( 'Parent', g, 'Background', 'y' )
set( g, 'ColumnSizes', [-1 100 -2], 'RowSizes', [-1 100] );
产生下图:
您将看到首先按行添加对象,然后按列添加(红色(1,1),蓝色(2,1),绿色(1,2),空(2,2)等)。 )因此,在您的情况下,您需要先添加所有uictonrols.text
,然后再添加uicontrols.edit
。