フィルターのクリア

Changing the value in the popupmenu

1 回表示 (過去 30 日間)
Quan Seah
Quan Seah 2018 年 4 月 23 日
コメント済み: Quan Seah 2018 年 4 月 23 日
The first item of my popupmenu is an instruction so it really isn't a value, but MATLAB seems to take it as a value whenever i accidentally pick it. Let's say I want to assign "5" to my second item, how do I make it show 5 instead of 2 because whenever I do the calculation MATLAB uses 2 instead of 5.

採用された回答

Walter Roberson
Walter Roberson 2018 年 4 月 23 日
lookup_table = [nan, 5, 10, -4, 18];
idx = get(hObject, 'value');
if isempty(idx)
... user has not chosen anything
elseif idx > length(lookup_table)
... mismatch between lookup table and number of entries in String property
else
associated_value = lookup_table(idx);
if isnan(associated_value)
... opps, user chose a header.
end
end
  3 件のコメント
Walter Roberson
Walter Roberson 2018 年 4 月 23 日
popChoice = contents{get(hObject,'Value')};
[tf, idx] = ismember(popChoice, {'Black', 'Brown', 'Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Violet', 'Grey', 'White'});
if ~tf
  ... user choose a header or has not made any choice
else
  popVal = 10 * (idx-1);
end
Quan Seah
Quan Seah 2018 年 4 月 23 日

The code doesn't seem to work either it is still showing the same value

 function firstmenu_Callback(hObject, eventdata, handles)
contents = cellstr(get(hObject,'String'));
popChoice = contents{get(hObject,'Value')};
[tf,idx] = ismember(popChoice, {'Black', 'Brown', 'Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Violet', 'Grey', 'White'});
if ~tf
    ... user choose a header or has not made any choice
else
popVal = 10*(idx-1);
end

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeApp Building についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by