MATLAB Answers

How to add uibuttongroup to a toolbar

1 ビュー (過去 30 日間)
xi 2019 年 10 月 7 日
コメント済み: xi 2019 年 10 月 10 日
I want to add 3 toggle buttons to the toolbar. They are exclusive, i.e., only one of them should be pressed.
It is easy to create these buttons on a figure by using uibuttongroup, which takes care of the desired behavior. Is it possible to add them to the toolbar?

  0 件のコメント

サインイン to comment.


Chidvi Modala
Chidvi Modala 2019 年 10 月 10 日
Hello Xi,
From my understanding, you want to add 3 toggle buttons to the toolbar and you want only one toggle button being active at the same time.
You can make use of 'uitoggletool' to create a toggle button on toolbar and create appropriate callbacks for toggle action to set the state of other toggle buttons
For example
function createToggleButtons
f = figure('ToolBar','none');
tb = uitoolbar(f);
img = zeros(16,16,3);
% Create 2 toolbar items (set one among them to have ‘on’ State)
tb1 =uitoggletool(tb,'CData',img,'TooltipString','ToggleButton1','State','on');
% Set the callback for each toggle passing itself and the other toggle
% to the callback
function ToggleToolbar ( primary, secondary )
% Switch the other toolbar state based on the value of the
% toolbar which the user clicked on.
switch get ( primary, 'State' )
case 'on'
set ( secondary, 'State', 'off' );
case 'off'
set ( secondary, 'State', 'on' );

  1 件のコメント

xi 2019 年 10 月 10 日
Although I'm seeking solutions by taking advantages of the "uibuttongroup", your solution is simpler than what I thought, especially the idea of using one shared callbackfunction.
If I have more than two toggle buttons, I can simply use "findobj" to set the states of all togglebuttons 'off' and turn on the current one.

サインイン to comment.

その他の回答 (0 件)

サインイン してこの質問に回答します。

Translated by