查看单个帖子
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Matlab中更改Unit:Characters?

为了便于移植,我将GUI的单位设置为“字符”。现在,我有一个用户想要在其上网本上使用Matlab,并且GUI窗口大于屏幕(因此在顶部被裁剪)。

我想我可以尝试在GUI的openingFcn中写一些东西来测量屏幕大小,然后相应地调整GUI,但是我宁愿避免这种情况,因为那时我需要处理比文本框大的文本,等等。 。

我想做的是以某种方式在他的Matlab安装上调整单位“字符”。但是,首选项中的字体大小似乎都没有对unit:character产生影响。有谁知道是否有可以在Matlab中更改的设置(我不介意每次重新启动时是否都会重置该设置,因为我可以将其放入启动脚本中)?



回答:

我可能会建议在设计GUI时要考虑的替代方法:
  • 使用'FontUnits'属性设置为'normalized'创建所有GUI对象。
  • 创建具有默认大小的图形,所有内容均设置为所需的外观。
  • 设置一个或多个CreateFcn/OpeningFcn/ResizeFcn函数,以便它们将调整GUI的大小以适合屏幕尺寸。
调整GUI及其对象的大小时,文本将相应地调整大小,从而有助于避免文本最终比文本框大。需要注意的一件事是,字体的标准化单位会将'FontSize'属性的值解释为uicontrol 高度的一部分。我也习惯将'FontName'属性设置为'FixedWidth'以帮助控制文本的宽度。



更多&回答...
poster 当前离线   回复时引用此帖