save gui handles between uiwait/uiresume calls
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I'd like to implement the following behaviour in my gui app: - start iterating through a for loop and compute an array - at the end of each loop, pause and give control to the user, which should be able to manually remove some elements from the array - resume execution
To do it, i write the array to the handles data structure:
handles.data.myArr = myArr;
guidata(hObject,handles);
then call uiwait:
uiwait;
and then update the variable:
myArr = handles.data.myArrTmp;
The callback that creates myArrTmp first gets the initial array from the handles:
myArrTmp = handles.data.myArr;
updates it according to user's choice, then writes it back to the handles
handles.data.myArrTmp = myArrTmp;
guidata(hObject, handles);
and finally calls uiresume:
uiresume;
When the control is returned to the main loop, it seems that the handles are reset, such that after uiwait, handles.data.myArrTmp does not exist.
How can I make the data inside the handles structure persist after calling uiresume? Is there a better method that could implement the same behaviour ?
Thank you.
0 个评论
回答(1 个)
Walter Roberson
2015-5-19
The routine needs to call guidata() to retrieve the changed version of the handles structure.
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!