我对MATLAB非常熟悉,尽管不是在编写GUI。现在我的老板给了我一个带有GUI的MATLAB程序,它是在Windows机器上开发的,可以毫无问题地在那里运行。我使用USB记忆棒将其复制到我的mac(osx 10.6.5 with MATLAB R2009b)并尝试处理我计算机上的文件。
启动GUI时,会执行一些回调,有些则不会。我能够在GUIDE中打开包含GUI的图形文件,但是无法单击属性检查器中的回调字段。 GUIDE中也未显示某些组件,这些组件在运行GUI时可见。首先我怀疑它可能被更改的换行符损坏了,但是得知.fig文件是二进制的,所以不应该这样。我用文本编辑器打开了二进制.fig文件,发现以下ASCII行后跟二进制数据:
MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Aug 10 17:11:57 2010
使用MATLAB OS创建的GUI是否具体?这不是真的很蠢吗?
我再次打开了Windows机器上的文件并尝试导出它们或通过指定我希望它们与其他操作系统兼容但是找不到这样的选项来保存它们。
当然我在google上研究了这个,并且想知道我并没有找到相关的东西。如果存在不兼容性,我认为这会被讨论,对吧?
之前有人知道或有同样的问题吗?
答案 0 :(得分:1)
简单的问题是,我第一次用GUIDE打开图时我打开了图bla.fig而不是bla1.fig。在此之后我总是使用GUIDE的重新打开功能,并没有看到它总是错误的文件。这引起了问题。
==>所以Mac和PC之间没有不兼容性,虽然我想知道为什么平台会写在文件中
==>它可能是向后兼容性的一个问题,因为原始图是用MATLAB 5创建的
==>正如@Adrian和@Mikhail指出的那样:使用版本控制系统是非常有用的,以防止有数百个不同数字的文件,其中大部分都不再使用
答案 1 :(得分:-1)
根据我的经验(MATLAB 5,6和7),不同平台之间以及不同版本之间似乎存在一些不兼容性 - 我多次遇到类似的情况。
我不确定何时使用MATLAB可以使用GUIDE - 我在使用第一版MATLAB 7时首先注意到它。(它起初非常不稳定,但现在非常有用。例如,我依旧记得MATLAB 7学生版的一个关键问题。你必须下载补丁才能使GUI工作。)
您的老板是否知道如何创建* .fig文件以及哪个MATLAB版本?你能打开旧版MATLAB上的* .fig并正确显示GUI吗?
自从用于创建图形的早期版本的MATLAB以来,某些函数可能已经过时,并且可能会导致一些小问题。如果是这种情况,您可以通过检查命令窗口(或MATLAB控制台)上显示的所有错误和警告消息对其进行故障排除。
此外,您应该能够使用命令窗口中的以下命令在工作区加载* .fig文件,假设这些文件位于MATLAB的搜索路径中。
加载your_file.fig -mat
然后,您应该看到一个结构数据集,并查看该结构中的所有图形属性等。
您可以使用该信息创建没有GUIDE(GUI开发环境/工具)的新图形。
我建议您编写自己的GUI应用程序。无论是否有GUIDE,都不是那么困难。
我最近为初学者和中级用户打开了一个网站,其中包含一些关于MATLAB编程的技巧,并在我的业余时间更新它。如果您对GUI构建有任何具体问题,我可能(或可能不)能够在那里提供答案......