4

我想在图形工具栏中添加一个新的切换按钮。单击它时,我想“取消切换”任何其他已切换的按钮。例如,如果按下“旋转”或“缩放”切换按钮,我想取消切换它们及其效果。简单地获取它们的所有句柄是行不通的,因为这不会取消它们的效果。

4

1 回答 1

2

您应该首先找到工具栏的所有子项。您可以通过以下命令执行此操作(假设这currentToggleButton是当前切换按钮的句柄):

 get( get(currentToggleButton,'Parent'),'Children');

然后执行以下操作:

  set(children,'State','off'); 

当然,您需要将当前按钮的状态返回到on.

  set(currentToggleButton,'State','on');

顺便说一句,如果您使用的是 GUIDE,您可以添加和zoom作为预定义工具。在这种情况下,Matlab 将自动处理切换。rotatepan


为了关闭缩放/平移/旋转的效果,你可以这样做:

 zoom('off')
 pan('off')
 rotate3d('off')

或者您可以使用其他语法版本(正如@Eitan 也提到的)

 zoom off
 pan off
 rotate3d off
于 2012-09-27T15:36:45.950 回答