如何制作一个动态的GUI来相应地调整其大小

时间:2019-02-01 16:42:39

标签: matlab user-interface

在MATLAB GUI中,我希望窗口根据输入的数量变长或变短。输入的数量是可以更改的,并且每个输入名称在另一个名称后面都是一个。我希望它得到最合适的外观。我找不到如何通过代码更改窗口的大小。

输入将如下所示:

inputA
inputB
inputC
inputD
inputE
...

此外,我可以接受通过根据窗口的大小调整输入文本的大小来做到这一点。(窗口大小可能是恒定的)

最后,我想学习当单位为字符或像素时如何获取GUI窗口的大小。我认为单位更改时应该有不同的大小。

谢谢。

2 个答案:

答案 0 :(得分:0)

创建GUI后,您可以使用类似的代码根据项目数调整窗口大小

deleteUser

您还将在窗口中调整GUI的大小。假设h是放置文本的容器的句柄,并且仅显示一项。您更改了文本,现在想要调整GUI的大小并保持图形的大小不变。

pos = get(gcf, 'position');
set(gcf, 'position', [ pos(1:3) pos(4)*nItems]);

答案 1 :(得分:0)

您可以通过更改图形窗口的'Position'属性来设置图形窗口的大小。前两个值是屏幕左下角的x和y坐标(即屏幕左下角的w.r.t.),后两个值是宽度和高度。可以读取此属性以获得当前位置和大小。例如:

h = figure; % this is where you create you GUI in
h.Position(3) = 50; % set the width to 50 pixels.

如果要使用其他度量单位,而不是默认像素,请设置'Units'属性:

h.Units = 'characters'; % now the position will be given in relation to the size of the font.

其他可能的单位包括'centimeters''inches''points'