繁体   English   中英

从GUI调用的函数中更新matlab GUI

[英]Updating matlab GUI out of a function called by the GUI

我编写了一个程序,尝试使用该程序进行自动测量。 该程序到目前为止可以运行,但是我不确定这是否是正确的方法。

该程序包含两个功能:

  • 测量(测量单个设备,绘制数据并将其保存到Excel文件中)
  • measureAutomatically自动(使用具有0和1的矩阵,移动到矩阵中的所有设备,如果设备矩阵中有1,它将触发测量功能。参数:Excel文件名和图形/轴的句柄在哪里绘图)

我还添加了一个用于生成设备矩阵的GUI。 一个按钮可触发小节自动功能。

GUI应该显示当前的测量值(实时,而不是在完成后),并且如果测量成功或不成功,它应该将另一个轴上的矩形的颜色从灰色更改为绿色/红色(如指示器,该如何完成)给定点)

到目前为止,我已经给度量函数提供了轴的坐标,以便在度量函数中绘制和格式化该图。

我不确定如何处理矩形的更新。 目前,measureAutomatically函数会获取测量结果,然后查找reactangle(通过标签查找对象)并更改颜色。

我想使功能独立于GUI(目前不是这种情况)。 因此,我应该在GUI中调用一个函数来更改矩形吗? 但是我该怎么做呢? 或做这样的事情的正确方法是什么? 我仍然是matlab的初学者,但我不仅想让它工作,还想学习正确的方法。

我肯定会创建一个接受测量状态的函数,然后再执行所需的任何操作

    function updateStatus(status, isGUI)
    if isGUI
        if status
            % Change the rectangle color to green
        else
            % Change the rectangle color to red
        end
    else
        if status
            % Do something else
        else
            % Do something else
        end
    end

您也可以将句柄传递给UserData图中的对象,或直接使用setappdata/getappdata和引用对象,而不是通过findobj查找它们。 但这是优先事项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM