簡體   English   中英

如何在GUIDE回調中訪問非GUIDE句柄

[英]How to access non GUIDE handles in GUIDE callbacks

因此,我有一個大型的舊式GUIDE GUI,雖然我沒有創建,但責成其進行擴展。 現在,我總是在沒有GUIDE的情況下手動編寫GUI,並且一直忙於清理並修復它,而沒有在沒有GUIDE的情況下重寫整個內容。

因此,除其他外,我手動在_OpeningFcn內的GUI中添加了新的GUI對象。 到目前為止,它們已經完成了我應該做的事情,他們可以按照我的期望添加回調和功能。

但是,我遇到的問題是,如果我想添加一些引用GUIDE回調(即預先存在的回調)中的新元素的東西,則句柄結構(照常傳遞給GUIDE回調)不包含我擁有的任何對象。在_OpeningFcn中添加。 因此,我無法操縱舊回調中的新對象。

我認為這與以下事實有關:我實際上並未在_OpeningFcn的末尾保存/分配擴展的句柄對象。 但是我不確定這是應該做的方式還是怎么做。

我希望我以簡潔准確的方式描述了我遇到的問題。 謝謝你的幫助。

如果我理解正確,那么您將在_OpeningFcn函數中添加GUI元素,然后將這些對象的handles添加到_OpeningFcnhandles結構中。

在這種情況下,您對handles本身所做的任何更改都將被視為純粹本地的。 要應用這些更改並使它們在整個GUI范圍內可用,只需在_OpeningFcn方法末尾執行以下命令:

function YourGui_OpeningFcn(hObject, eventdata, handles, varargin)
    ...
    handles . button = uicontrol ( 'Style' , 'pushbutton' , ...
                                   'String' , 'My Fancy Button', ...
                                   'Position' , [315,220,70,25] );
    ...

    guidata ( hObject , handles )
end

如果您在函數末尾忽略了guidata的使用, guidata的更改將不會guidata

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM