【问题标题】:Matlab Gui compatibility - Different aspects between Linux and MacOSMatlab Gui 兼容性 - Linux 和 MacOS 之间的不同方面
【发布时间】:2015-06-12 14:19:49
【问题描述】:

我在使用 Matlab Gui 时遇到了 Linux 和 MacOS 之间的兼容性问题。图形界面是在 Linux Debian 7.0 下开发的。这是这个平台的方面:

现在,我在 MacOS 上执行 .m 文件,结果如下:

如您所见,面板(第一个图中有 3 个磁盘的框(抱歉,第二个图中没有出现 3 个磁盘))以及更全局的 MacOS 10.9.5 上的图水平拉伸,即窗口比高宽。

我尝试更改单位(尝试使用字符、标准化、像素),但没有任何效果。

“编辑”框和按钮使用不同的字体并不困扰我,但我希望面板在两个操作系统下具有相同的大小比例,即在 Linux Matlab 下有一个方形面板。

如果有人可以帮助我,那就太好了

谢谢

【问题讨论】:

  • 如果您发布一个重现问题的最小示例,您将获得更多帮助
  • Mac 显示器可以使用一些时髦的(非常规)分辨率,并且为了适应这种情况,它们还使用了一些非常规的 DPI 设置。我要做的第一件事是检查 DPI 设置在您的两个操作系统上是否具有可比性。对于 MAC 中的 DPI 设置,您可以查看 here 或 here。对于linux,可以启动here

标签: linux macos matlab matlab-guide


【解决方案1】:

诀窍不仅是为您的 gfx 对象设置 'Units' 到 'pixels',而且还使用这些单位来设置位置。 :-)

在下面的代码中,sn-p ha 是轴的句柄,hf 是封闭图形的句柄。您可以为轴强制以像素为单位的特定大小:

set(hf, 'Units', 'pixels'); %// Not necessary, but better not mix units

set(ha, 'Units', 'pixels');
pos = get(ha, 'position');
set(ha, [pos(1:2), 400, 400]); %// 400x400 pixels

您可以将其应用于图中任何图形对象的位置。

【讨论】:

  • 我创建了一个 MATLAB 聊天室,供我们讨论与 MATLAB 相关的事情,或者进行超出单个评论限制的讨论。有时间就来找我们吧! - chat.stackoverflow.com/rooms/81987/matlab
猜你喜欢
  • 2011-05-17
  • 2013-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多