user-interface - 如何将参数传递给 Matlab GUI 文件

标签 user-interface matlab ui-guidelines


我是 matlab 的新手。在使用 Matlab GUI 工作时,我遇到了如下问题。
。我想要 2 个图形文件,一个图形文件调用另一个。我知道只要从第一个图文件中调用第二个图文件的名称,我们就可以调用第二个图。但是,我也希望将一些参数从一个图文件发送到另一个图文件。在这里我需要发送参数并获取这些参数以便进行进一步处理。我还没有找到解决这个问题的方法。如果有人能帮助我解决这个问题,我会很高兴。
提前谢谢你

最佳答案

我发现了三种方法:

方法一:使用setappdatagetappdata像这样:

setappdata(0,'some_var',value)
some_other_var = getappdata(0,'some_var')

您可以在 fig1 的 m 文件中使用 setappdata() 来存储您想要传递的任何数据,然后在另一个 m 文件中调用 getappdata() 来检索它。这两个函数的参数 0 指定 MATLAB 根工作区,您的程序可以在任何地方访问它(即它是全局的)。因此,当您关闭图形时,数据仍然可用。您可能想使用 rmappdata删除它们。

方法二:使用guidata :

假设您使用 GUIDE 创建了 GUI,那么您可以访问一个名为 handles 的结构,该结构在各处传递并且您可以对其进行编辑,因此您可以在 GUI 回调中执行此操作:

handles.some_var = some_value
guidata(hObject,handles)

然后您可以在您的其他 m 文件中的其他回调中的其他地方访问 handles.some_var(因为 handles 会自动为您传递给它):

some_other_var = get(handles.some_var)

方法三:使用UserData :

从你的第一个图中存储你想要的变量:

set(name_of_fig, 'UserData', some_var)

然后从你的另一个获取它:

some_other_var = get(name_of_fig, 'UserData')  

(免责声明:我对 MATLAB 的实际了解并不是那么多,但它有助于找到像 thisthis ,甚至 this from the official docs 这样的好资源。我在这里写的内容 可能是错误的,因此您一定要查阅文档以获得更多帮助。)

关于user-interface - 如何将参数传递给 Matlab GUI 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5346635/

相关文章:

java - 如何将此 JScrollPane 类添加到我的 swing 构建器中?

matlab - 将零填充到二进制数中特定位置的命令?

dynamics-crm - Microsoft Dynamics UI准则

java - 是否有任何网站展示所有可用的 UI 组件和小部件以及源代码?

algorithm - 如何生成强度在[0.5 1.5]范围内缓慢变化的圆圈?

ios - 用户界面没有更新,而某些功能需要时间才能执行?

java - 更改 JFrame 中的背景颜色和图标

html - 物化 css 表现怪异

performance - 如何降低 O(N^2) C-index 函数的时间复杂度?