【问题标题】:Using value in GUIDE listbox as variable (MATLAB)使用 GUIDE 列表框中的值作为变量 (MATLAB)
【发布时间】: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


【解决方案1】:

您正在从handles.edit_box 中提取,因为您在handles.edit1 中设置字符串

我怀疑这是同一个编辑框...

注意 1:由于用户已更新问题,此答案毫无意义!

【讨论】:

    【解决方案2】:

    我发现将计算重新定位到按钮功能时问题已得到纠正,而不是在打开功能中全部完成。这将使代码变得更笨重,但它可以工作,这很重要!

    【讨论】:

      猜你喜欢
      • 2010-10-21
      • 2020-03-24
      • 1970-01-01
      • 2012-04-16
      • 2018-05-23
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多