【发布时间】:2015-04-29 07:37:06
【问题描述】:
我正在尝试构建一个 gui 以使用打开函数中包含的一些信息生成一些图。我正在使用列表框来尝试更新这些变量,例如,在我运行绘图循环之前,我想从列表框中选择一个初始条件。但是,无论我在列表框中进行什么选择,初始条件总是重置为 0。以下是对我正在尝试做的事情的一种解释:
开启功能:
x(i) = 0;
y(i) = str2double(char(get(handles.edit1, 'String');
z(i) = 0;
列表框功能:
listval = get(handles.listbox1, 'Value');
if (listval == 1)
set(handles.edit1, 'String', '35')
elseif (listval == 2)
set(handles.edit1, 'String', '40')
elseif (listval == 3)
set(handles.edit1, 'String', '45')
....
我确定我正确调用了列表框值,因为我将它们传递给编辑框以显示该值,然后将编辑框的值调用为 y(i) 的新值。但是,从赋值语句中删除分号后,我在列表框中选择了所需的值,运行脚本,但命令窗口显示 y = 0。
任何建议将不胜感激。
【问题讨论】:
-
运行脚本时 ->
edit1中的字符串是什么? -
拥有一个功能齐全的示例会很有帮助,这样我们就可以看到 GUI 的其余部分发生了什么(请参阅MVCE)。回调是如何定义的?这是 GUIDE GUI 吗?程序化?
-
到了办公室后,我会将函数更新为更完整的示例,但希望以下内容也能有所帮助。每当我单击列表框中的值时,编辑框都会完美更新,但是 y 变量永远不会更新为编辑框中的同一变量。我需要做些什么来强制更新所有内容吗?这是一个 GUIDE gui。
标签: matlab listbox matlab-guide