首页 > 解决方案 > 如何制作相应调整其大小的动态 GUI

问题描述

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

输入将如下所示:

inputA
inputB
inputC
inputD
inputE
...

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

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

提前致谢。

标签: matlabuser-interface

解决方案


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

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

您还可以在窗口中调整 GUI 的大小。假设 h 是您放置文本的容器的句柄,并且它只显示一个项目。您更改了文本,现在想要调整 GUI 的大小并保持图形的大小相同。

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

推荐阅读