【发布时间】:2010-10-10 00:56:44
【问题描述】:
我正在使用 MatLab,我有两个 GUI。当我单击一个 GUI 中的按钮时,将调用第二个 GUI,并且两个 GUI 都可以并行工作。如果有人知道这个问题的答案,请回复我。
我有两个 GUI 表单。在第一个中,我将一条线旋转一圈(通过使用极坐标函数。这是为了我的雷达模拟目的)。在那个 GUI 中,我只有一个按钮。当我按下它时(通过使用for循环和暂停功能。实际上它是一个模拟,有点像在圆圈中旋转)
圆圈旋转,直到我在同一个 GUI 中按下另一个按钮。我还有一个按钮。如果我按下它,它会激活另一个 GUI 进行相同的旋转,但不是整个圆圈,圆圈的某些部分(扇区)。所以在这里我需要圆形和扇区旋转中的线条。但实际上,当我从圆形 GUI 的按钮调用扇区 GUI(第 2 个 GUI)时会发生什么情况,即线在圆形停止中旋转,并且在扇区旋转完成后控制权交给扇区。圆圈出现在扇区 GUI 中。
如果有人知道如何并行执行这两个 GUI,请回答我。如果这仍然太模糊,请告诉我,我会解释更多。
我的代码如下:
function twoguis
%Initializations:
hFigure2 = [];
hAxes2 = [];
%Make figure 1:
hFigure1 = figure('Position',[50 200 300 300]);
hAxes1 = axes('Parent',hFigure1,'Position',[0.1 0.2 0.8 0.7]);
hButton = uicontrol('Style','pushbutton',...
'Position',[10 10 100 20],...
'String','New Window',...
'Callback',@button);
% Start a loop that continuously changes the color of
% the axes at 1 second intervals:
while true, % You will have to press Ctrl-c to stop!
newColor = rand(1,3);
set(hAxes1,'Color',newColor);
if ishandle(hAxes2),
set(hAxes2,'Color',newColor);
end
drawnow;
pause(1);
end
function button(source,event)
% Check if Figure 2 has already been made:
if ishandle(hFigure2),
return;
end
% If it isn't made, make Figure 2:
hFigure2 = figure('Position',[350 200 300 300]);
hAxes2 = axes('Parent',hFigure2,'Position',[0.1 0.2 0.8 0.7]);
for xc=0:.05:6.28;
polar([0,xc],[0,10]);
pause(.1);
end
end
end
谁能建议我如何在两个图中连续更改颜色并在极坐标函数中连续旋转线?
【问题讨论】:
-
让您的问题更明确。不清楚你在问什么。
-
目前还不清楚你在问什么。也许您可以编辑您的问题并添加到目前为止的代码,以便我们可以准确地看到您在做什么。我最好的猜测是,您有两个带有圆形刻度盘的 GUI,您想同时更新......对吗?
-
是的,如果你能做到,请给出答案
标签: user-interface matlab