缺少图形工具栏和全局变量的可能变化

时间:2014-11-05 22:39:28

标签: matlab variables global uitoolbar

今天我尝试在我的图表下面添加一个滑块,这样当您滑动它时会绘制不同的图形。最终我把所有这些都完美地运用了,但是我还有两个小问题。 在带滑块的图形的顶部,图形工具栏消失了。点击查看 - >即可轻松添加。图工具栏位于图中的顶部。然而,每次这样做都有点乏味。当我谷歌搜索问题时,结果就是创建自定义工具栏的所有指南。我只想添加默认工具栏,很好。但我不知道该怎么做。打字' uitoolbar'给出一个空的。但我不知道如何用默认图标填充它。

我遇到的第二个问题; 主脚本最后调用一个函数,然后该函数用滑块创建新图形。然而,因此我需要将数据矩阵传输到从主脚本到函数的绘图,所以我使矩阵成为全局变量。但是一旦调用该函数,matlab就会给我这个错误(每个全局变量一次):

> In xxxx at 270 
Warning: The value of local variables may have been changed to match the globals.     
Future versions of MATLAB will require that you declare a variable to be global before you use that variable. 

在我调用函数之前我输入

  global xL yL zL p

是绘图所需的数据。然后函数文件中的第一行又是同一行。数据似乎传输正常,图表显示正确的图。 这是一个我可以忽略的错误吗?既然一切正常吗?或者它究竟意味着什么?

1 个答案:

答案 0 :(得分:0)

好的,这是我的2美分:

1)根据我的理解,获取工具栏的最简单方法是使用findobj,然后将其显示为:

hToolBar = findobj('Type','uitoolbar');
set(hToolBar,'Visible','on');

您还可以使用" get"获取工具栏的属性。这是我运行的一个简单脚本的样子:

get(hToolBar)

hToolBar =

    0.1890 %// don't worry about that number; it's the handle for the toolbar.


    BeingDeleted = off
    ButtonDownFcn = 
    Children = [1.18896]
    Clipping = on
    CreateFcn = 
    DeleteFcn = 
    BusyAction = queue
    HandleVisibility = on
    HitTest = on
    Interruptible = on
    Parent = [1]
    Selected = off
    SelectionHighlight = on
    Tag = 
    Type = uitoolbar
    UIContextMenu = []
    UserData = []
    Visible = off

我不知道为什么它会消失。

2)如果您将数据作为输入发送给您的函数,您可能会摆脱这些全局变量吗?

例如:

function PlotData(xL,yL,zL,p)

%// Your code here

希望有所帮助!