我正在使用指南构建一个简单的Matlab图形用户界面。我有一个物品清单。大多数情况下,它按预期工作,但有时(通常在我用指南编辑图形后)填充列表框会导致它与此消息一起消失:
Warning: single-selection listbox control requires a scalar Value
Control will not be rendered until all of its parameter values are valid
这种行为不利于调试!当我跨过时,它会像预期的那样工作(我怀疑它是一种线程竞赛或其他什么)。此外,在相同的条件下,它通常在重新启动matlab环境后消失。
在这个错误上找到的所有文档都引用了以前的/古老版本的matlab(我使用的是r2100a)。
任何关于这个主题的想法或信息都将非常感谢!
编辑:多亏了米哈伊尔,我似乎解决了这个问题。我在这里发布我的代码以备将来参考。
经过大量的调试打印和疯狂的点击之后,我发现有时当您询问列表框所选内容时,会得到一个空的结果。这和其他问题使事情变得一团糟。我将所有的编写交互都移到了列表框中,并编写了一些测试代码,以确保事情按它们应该的方式进行。
请注意,这已经在我自己的环境中进行了测试(在R2010A上),并且没有广泛测试。另外,代码有点多余,但它还是让我感觉很好。(I.
itemcount
不能小于0…)
function ensure_listbox_ok(handles)
%check to make sure it does not suck - ask what it has
thestrings = get(handles.listbox_files, 'String');
selection = get(handles.listbox_files, 'Value');
itemcount =