App Designer-Tag in event is empty; Value of Listbox is not order

조회 수: 3 (최근 30일)
Chong Cao
Chong Cao 2017년 3월 31일
댓글: Chong Cao 2018년 9월 6일
First quesiton is that, I found the 'event' parameter which is the input of callbacks, is containing lots of Object's information, but the 'event.Source.Tag' is empty all the time. If so, how can Callback get the current Object I operate? I know in GUI, every Callback has the input parameter 'hObject' to use, that's convinent. What should I do in App Designer?
Second question is that, in App Designer, the 'Value' of Listbox is not same as in GUI. In GUI,it's an order number of selected item. However in AD, it's item itself (or itemdata itself).If I want to get order number, I have to make itemdata become order series 1,2,3... I think it's not a satisfying method. Then, what should I do? (I need this order number because that in my app every item is corresponding to a matrix. For example, item1 - matrix(:,:,1), item2 - matrix(:,:,2)... When I select an item, the corresponding matrix should be displayed in app. So, the order of selected item need to be acquired).
  댓글 수: 2
Adam
Adam 2017년 3월 31일
편집: Adam 2017년 3월 31일
Do your objects have a tag (in the actual GUI layout, I mean, not in the callback)?
Chong Cao
Chong Cao 2017년 3월 31일
In GUI, I surely knows what tag is. But I'm not sure this 'Tag' in AD means what. Is 'edit' the tag of 'app.edit' in AD? If so, every object must have a tag I think.

댓글을 달려면 로그인하십시오.

답변 (1개)

Jurgens Wolfaardt
Jurgens Wolfaardt 2018년 9월 5일
편집: Jurgens Wolfaardt 2018년 9월 5일
For first question: Pre-assign a descriptive Tag to each your objects (in a startupFcn) with the following code:
FieldNames = fieldnames(app);
for i = 1:length(FieldNames)
app.(FieldNames{i}).Tag = FieldNames{i};
end
Now use strcmp (or similar) to compare the object's event.Source.Tag to determine the function that called it.
Second question answered here: https://au.mathworks.com/matlabcentral/answers/415730-app-designer-listbox-and-dropdown-selection-number#answer_333978
  댓글 수: 1
Chong Cao
Chong Cao 2018년 9월 6일
Great!I've found a method,but your method is much more convenient to tag all field. Thanks. For these 1.5 years, I've got a lot progress and write some big apps for my engineering work. I have to say, writting apps is lonely, almost every signle problem needs to be study, and hundreds of them are coming over to me with no ends……

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by