状況:私は、オブジェクトのリストとそのプロパティを持つGUIを持っています。これらのプロパティの1つはブール値で、チェックボックスに適しています。Matlabのトライステートチェックボックスの作成方法は?
リストでは、複数のオブジェクトを同時に選択して、プロパティをバッチで変更できます。複数のオブジェクトを選択するときは、プロパティリストを更新して共通のものを表示します。
オブジェクトがブール値のプロパティに同じ値を設定している場合はすべて正常に動作しますが、このプロパティが異なる場合は「未定義」、「その他」のチェックボックスを第3の状態で表示します。
これまでのところ、私はトライステートチェックボックスを作成できませんでした。どういうわけか可能ですか?第3の状態にあるチェックボックスを設定しようとすると、私はvalue
のいずれかMax
Min
又は値に等しくなるよう、警告メッセージを取得
myCheckbox = uicontrol(figureHandle,...
'Style','CheckBox',...
'String','Boolean Property');
set(myCheckbox, 'Value', 1); % Checks the checkbox
set(myCheckbox, 'Value', 0); % Unchecks the checkbox
set(myCheckbox, 'Value', 2); % Expected: tristate. Gets: warning
:
チェックボックスがの変異体を使用して作成されます。それらは1
の違いで区切られていなければなりません。だから、Matlabにトライステートのチェックボックスを表示する方法はありますか?
ありがとうございます。ただし、コールバックも無効になるため、このソリューションではできません。また、選択したすべての要素のプロパティを一度に強制的に使用できるようにする必要があります。しかし、それがディスプレイ用のものであれば、それはうまくいくかもしれません。 – MayeulC