Is there a way to refer to elements in Matlab App using variables?

5 次查看(过去 30 天)
I have the following section of code, and I wanted to try and shorten it significantly using for loops, but I haven't found a way:
app.Button_1_1.Text = app.images(app.grid(1,1),1);
app.Button_1_2.Text = app.images(app.grid(1,2),1);
app.Button_1_3.Text = app.images(app.grid(1,3),1);
app.Button_2_1.Text = app.images(app.grid(2,1),1);
app.Button_2_2.Text = app.images(app.grid(2,2),1);
app.Button_2_3.Text = app.images(app.grid(2,3),1);
This continues on for around hundred lines to get every button that I'm using. I was thinking of doing something like as follows, but I haven't found anything that works:
for r = 1:3
for c = 1:3
app.Button_r_c.Text = app.images(app.grid(r,c),1);
end
end
Is there a way to do this, or another way to shorten the process? Thanks in advance

采纳的回答

Voss
Voss 2024-3-8
for r = 1:3
  for c = 1:3
      app.(sprintf('Button_%d_%d',r,c)).Text = app.images(app.grid(r,c),1);
  end
end

更多回答(1 个)

Walter Roberson
Walter Roberson 2024-3-8
for r = 1 : 3
for c = 1 : 3
app.Button(r,c).Text = app.images(app.grid(r,c),1);
end
end

类别

Help CenterFile Exchange 中查找有关 Develop Apps Using App Designer 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by