Mac与Windows MATLAB Gui的兼容性

Mac与Windows MATLAB Gui的兼容性,windows,macos,user-interface,matlab,Windows,Macos,User Interface,Matlab,我非常熟悉MATLAB,虽然不太熟悉用它编写GUI。现在我的老板给了我一个带有GUI的MATLAB程序,它是在Windows机器上开发的,在那里运行没有问题。我用一个USB记忆棒将它复制到我的mac电脑(osx 10.6.5和MATLAB R2009b)上,并尝试处理我电脑上的文件 启动GUI时,会执行一些回调,有些则不会。我能够在指南中打开包含GUI的图形文件,但无法在Property inspector中单击回调字段。此外,指南中未显示一些组件,这些组件在运行GUI时可见。首先,我怀疑它可能

我非常熟悉MATLAB,虽然不太熟悉用它编写GUI。现在我的老板给了我一个带有GUI的MATLAB程序,它是在Windows机器上开发的,在那里运行没有问题。我用一个USB记忆棒将它复制到我的mac电脑(osx 10.6.5和MATLAB R2009b)上,并尝试处理我电脑上的文件

启动GUI时,会执行一些回调,有些则不会。我能够在指南中打开包含GUI的图形文件,但无法在Property inspector中单击回调字段。此外,指南中未显示一些组件,这些组件在运行GUI时可见。首先,我怀疑它可能被更改的换行符损坏,但了解到.fig文件是二进制的,所以情况不应该是这样。我用文本编辑器打开binary.fig文件,发现以下ASCII行后跟二进制数据:

MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Aug 10 17:11:57 2010
使用MATLAB操作系统创建的GUI是特定的吗?这不是很愚蠢吗

我再次在windows计算机上打开了这些文件,并试图通过指定希望它们与其他操作系统兼容来导出或保存它们,但找不到类似的选项

当然,我在谷歌上对此进行了研究,我想知道我并没有真正找到相关的东西。如果存在不兼容,我想这应该已经讨论过了,对吗


有人知道这件事或者以前有过同样的问题吗?

嗯,好的。好吧,答案是相当尴尬的,但仍然有一些潜力从中学习。老板给我的文件夹里有很多文件和数字,名字很相似,比如:

  • bla1.fig
  • 无花果
  • bla0.fig
  • 简单的问题是,我第一次用GUIDE打开图时,打开的是图bla.fig,而不是bla1.fig。在此之后,我总是使用指南的重新打开功能,没有发现它总是错误的文件。这就造成了问题

    ==>所以Mac和PC之间没有不兼容,尽管我想知道为什么平台会写在文件中

    ==>由于原始图形是使用MATLAB 5创建的,因此可能存在向后兼容性问题


    ==>正如@Adrian和@Mikhail所指出的那样:使用版本控制系统非常有用,以防止数百个不同编号的文件在大多数文件不再使用的情况下出现。

    根据我的经验,不同平台之间以及不同版本之间似乎存在一些不兼容(Matlab5、6和7)同样——我也多次遇到类似的情况

    我不确定MATLAB何时提供了该指南——我第一次注意到它是在我使用MATLAB 7的第一个版本时。(起初它非常不稳定,但现在非常有用。例如,我模糊地记得MATLAB 7学生版的一个关键问题。你必须下载一个补丁才能使GUI工作。)

    您的上司是否知道*.fig文件是如何创建的以及在哪个MATLAB版本中创建的?您能否在旧版本的MATLAB上打开*.fig并正确显示GUI

    从用于创建图形的早期版本的MATLAB开始,某些函数可能已经过时,并且可能导致一些小问题。如果是这种情况,您可以通过检查命令窗口(或MATLAB控制台)上显示的所有错误和警告消息来进行故障排除

    此外,您应该能够使用命令窗口中的以下命令在工作区加载*.fig文件,假设这些文件位于MATLAB的搜索路径中

    加载您的_文件。图-mat

    然后,您应该看到一个结构数据集,并看到该结构中的所有地物属性等

    您可以使用这些信息创建新图形,而无需指南(GUI开发环境/工具)

    我建议您编写自己的GUI应用程序。有/没有指南,这并不难


    我最近为初学者和中级用户打开了一个关于MATLAB编程的网站,并在业余时间对其进行了更新。如果您对GUI构建有任何具体问题,我可以(也可以不)能够提供答案…

    有点偏离主题,但无论如何,我建议程序化地编写Matlab GUI而不使用指南——当然,如果它是一个已经在指南中编写的复杂的GUI,那么它可能太多的工作要被移植,但是你(或者你的老板)可能想下次再考虑它。(指南)我投入了大量精力的GUI,在二进制.fig文件被破坏后变得毫无用处。MATLAB GUI是Java Swing GUI,因此它应该是独立于平台的文件与平台无关。命令窗口中是否有任何错误?最近MATLAB每6个月有一个新的,可能不向后兼容的版本。你确定你使用的是同一个MATLAB版本吗?@Itamar-版本控制系统Mercurial非常适合损坏的指南fig文件。一旦我得到一个指南对话框,我就会检查它进入mercurial。经常这样做,然后当fig文件损坏时,需要几秒钟来检索最后一个已知的工作版本。@Adrian:1)它不仅是mercurial,还可以是任何修订系统:CVS、SVN、Git、ecc。2)我认为在MATLAB中根本无法打开损坏的二进制文件。3) 二进制文件如何被破坏?我已经十年没见过了!