[英]In Matlab, how to call GUI callback functions without the GUI?
我不是GUI程序員,這將變得顯而易見。 如果有的話,我正在嘗試取消GUI。 我正在使用一個名為art的程序(如果有用的話,可以在這里找到),該程序會生成我想保存的圖形和變量。 您可以從批處理腳本中調用art,並使其輸入讀取配置文件,這就是我正在做的事情,但是您必須在GUI中手動生成並保存其大部分輸出(變量和圖形)。 我很想自動化這個過程,但是我真的很努力。
我認為,如果我知道如何強制調用回調函數,則將解決我問題的核心。 例如,在showCorr_Callback(hObject, eventdata, handles)
有一個函數(由GUI中的單選按鈕控制)。 它具有要執行的測試條件:
if (get(handles.showCorr,'Value') == get(handles.showCorr,'Max'))
我嘗試插入
mx = get(handles.showCorr,'Max'))
setappdata(handles.showCorr,'Value', mx)
進入我知道執行的函數中,即打開function art_OpeningFcn(hObject, eventdata, handles, varargin)
。 這似乎沒有任何作用。 如果我知道如何執行回調函數,也許我可以將保存圖形的代碼插入函數中。 在Matlab的GUI腳本中,某些地方必須不斷測試GUI狀態的變化。 那東西在哪 我該如何愚弄它以為單選按鈕已被按下?
感謝您的幫助,如果需要提供更多信息,請告訴我。
首先,如果要設置handles.showCorr
的Value
,則不會使用setappdata
,因為setappdata
會將任意數據(按鍵/值對)存儲到圖形對象中。 您實際上要設置Value
屬性 。
set(handles.showCorr, 'Value', get(handles.showCorr, 'Max'))
這將觸發分配給handles.showCorr
所有回調。
如果由於某種原因這不會觸發回調,則可以隨時手動觸發它。 如果您已經知道回調,則可以顯式調用它。
showCorr_Callback(hObject, eventdata, handles);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.