Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
网格父级中MATLAB App Designer中编辑字段组件的布局语法_Matlab_Matlab App Designer - Fatal编程技术网

网格父级中MATLAB App Designer中编辑字段组件的布局语法

网格父级中MATLAB App Designer中编辑字段组件的布局语法,matlab,matlab-app-designer,Matlab,Matlab App Designer,我想在MATLAB App Designer中创建编辑字段后,立即在网格中指定布局 app.villes1 = uieditfield(app.GHIetPOA_grid, 'text', 'HorizontalAlignment', 'center', ... 'Editable', 'on', 'Layout', **???**); 我试着简单地使用[r,c],但这种语法似乎不正确。我用谷歌搜索了我的问题,找到了通过创建编辑字段并在点索引后指定行和列来指定行和列

我想在MATLAB App Designer中创建编辑字段后,立即在网格中指定布局

app.villes1 = uieditfield(app.GHIetPOA_grid, 'text', 'HorizontalAlignment', 'center', ...
              'Editable', 'on', 'Layout', **???**);
我试着简单地使用[r,c],但这种语法似乎不正确。我用谷歌搜索了我的问题,找到了通过创建编辑字段并在点索引后指定行和列来指定行和列的唯一方法:

app.villes1.Layout.Row = 2; 
app.villes1.Layout.Column = i+2; 
但是,我不能使用它,因为我实际上是在for循环中生成编辑字段,并且禁止以这种方式进行点索引:

function initVilles1(app)
    for i=1:8
        app.villes1(i) = uieditfield(app.GHIetPOA_grid, 'text', 'HorizontalAlignment', ...
        'center', 'Editable', 'on');
        app.villes1(i).Layout.Row = 2; 
        app.villes1(i).Layout.Column = i+2; 
     end
end

已经谢谢你了!(:

您需要将
villes1
初始化为
gobject的数组

例如:

properties (Access = private)
    GHIetPOA_grid  matlab.ui.container.GridLayout
    villes1 = gobjects(1, 8);
end
我只能猜测您使用了以下语法:
villes1=zeros(1,8);

上面的语法创建了一个双元素数组。
然后
app.villes1(i)=uieditfield(…)
创建一个“旧式”数字句柄,而不是创建一个对象。
使用数字句柄时禁止使用点表示法

您需要使用以下语法:
villes1=gobjects(1,8);

现在点索引应该可以工作了


以下是完整的代码(包括生成的代码):

classdef app1

备注:下次发布问题时,请尽力发布所有相关代码。

您需要将
villes1
初始化为
gobject的数组

例如:

properties (Access = private)
    GHIetPOA_grid  matlab.ui.container.GridLayout
    villes1 = gobjects(1, 8);
end
我只能猜测您使用了以下语法:
villes1=zeros(1,8);

上面的语法创建了一个双元素数组。
然后
app.villes1(i)=uieditfield(…)
创建一个“旧式”数字句柄,而不是创建一个对象。
使用数字句柄时禁止使用点表示法

您需要使用以下语法:
villes1=gobjects(1,8);

现在点索引应该可以工作了


以下是完整的代码(包括生成的代码):

classdef app1