簡體   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