Get UI object name

8 ビュー (過去 30 日間)
Matt C
Matt C 2024 年 3 月 20 日
コメント済み: Matt C 2024 年 3 月 20 日
I am saving an app state so it can be loaded later. I add tags to the numeric edit fields that need to be saved. I pull all the object handles, find those that are tagged, and save whatever properties I need to restore in text/.mat. The issue is I am trying to make it open-ended such that adding a non-specific tag is all that I have to do to get a field to save. I want to store the name of the object with the saved properties so that I can match up when loading. I get that I can give them a unique ID, but they already have names in my app. The name doesn’t appear to be a property in the uinumericeditfield object. Is there another way to query the name of the object in the app once I have its handle?

回答 (1 件)

Walter Roberson
Walter Roberson 2024 年 3 月 20 日
No. You are working with handles, and there are multiple names for the same handle. You can chase the Parent property to get the shortest path to the root, but that doesn't tell you the "name" of anything.
  1 件のコメント
Matt C
Matt C 2024 年 3 月 20 日
I was afraid of that. I figured a workaround for it, but I am still hoping there is a better way that I am missing...see code below that pulls the name of the object and the value for all objects with 'S' tag...
s=properties(app);
c=0;
for i=1:length(s)
if strcmp(app.(s{i}).Tag,'S')
c=c+1;
app.D(c).objname=s{i};
app.D(c).val=app.(s{i}).Value;
end
end

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeDevelop 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