Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
我想浏览存储了许多Matlab GUI(.fig文件及其相关的.m文件)的目录,并对其进行系统地更改。对于每个,我想搜索一个特定的弹出菜单,如果存在,则删除一些特定选项。
我通常使用get()和set()或类似的函数来摆弄GUI,但是这些函数需要句柄,而且在不运行GUI时我也不知道如何获取句柄,而且我也不知道如何保存变化。 如果我将.fig作为文本打开,则无法理解。 我正在考虑一次在指南 (Matlab的GUI开发环境)中打开每个窗口,并手动进行更改,但确实希望避免。我正在谈论数十个文件,将来我的操作可能必须更改。 也许会有一种方法可以从命令行控制向导 ?还是其他解决方案? 回答: 您可以使用hgload或openfig加载.fig文件。这两个函数都返回图形的句柄。 一旦有了图形的句柄,就可以使用findobj来获取弹出菜单的句柄。然后正常set并get以更改菜单的选项,然后使用hgsave保存修改的图形。 例如: f = hgload('file.fig'); menuH = findobj(f, 'Type', 'popup'); set(menuH, 'String', new_options); hgsave(f, 'file.fig'); 更多&回答... |
![]() |
![]() |