【发布时间】:2016-06-09 16:25:04
【问题描述】:
我有一个很大的 Matlab 代码,现在我正在尝试将它连接到 GUI。我创建了一个函数
function z = interface_master(handles)
它首先从 GUI 文本编辑框中获取初始参数,然后使用这些参数运行多个 .m 文件,例如
n = get(handles.n_value,'String');
n = str2num(n);
assign('base','n',n)
run('code_1')
run('code_2')
...
在这个“代码”中,我创建并保存了一些数字。我现在希望用户能够在 GUI 中显示他选择的图形。假设我将有 3 个不同的按钮(Push1、Push2、Push3),用户在按下 Push1 后会显示 Figure_A。然后按Push2后,他会得到Figure_B替换Figure_A,以此类推。我能以某种方式让它工作,只是在我的函数interface_master 中设置句柄吗?
我不想过度拥挤我的interface.m 文件,到目前为止,我设法在这个额外的interface_master 文件中完成所有其他操作(读取值、显示消息),只需通过界面中的interface_master(handles) 连接两者回调函数。但现在我被这些按钮卡住了。
我真的很感谢这里的一些帮助。我以前从未做过任何 GUI。
【问题讨论】:
-
我对您的代码的作用有些困惑。
n目前是否规定显示哪个数字?有没有机会发code_1或code_2的相关部分? -
您是否有机会尝试在 MATLAB 中实现一些设计模式(例如 MVP、MVC)?就像 Suever 一样,我对您要做什么以及为什么感到困惑。您能否提供所需行为的图表/流程图...?
-
code_1 和 code_2 是相当大的 Matlab 脚本,计算给定数量样本 n 的许多变量。然后 code_1 和 code_2 正在保存结果和保存数字。它们在没有 GUI 的情况下运行良好。我尝试以用户自己定义样本数量的方式连接 GUI。然后 code_1 和 code_2 运行以计算所有结果。最后,我希望用户能够在 GUI 中显示他选择的图形。这些数字已由 code_1 和 code_2 生成并保存(不显示)。也许我把事情复杂化了。这基本上就是我想要做的。
标签: matlab matlab-guide