2017-03-16 46 views
0

我有一个GUI(GUI1)与按钮(Btn1)。当我点击Btn1时,第二个带有绘图(GUI2)的窗口呈现,GUI1变为非活动状态(GUI2.fig和GUI.m保存到磁盘)。如何使这两个窗口活动?Matlab - 两个活动GUI

我tride这样的事情,但它没有工作:

InterfaceObj=findobj(fig,'Enable','on'); % fig = gcf; 
set(InterfaceObj,'Enable','on'); 

GUI2如下调用:

h = GUI2; 

感谢您的答案!

我的代码: 功能visual_Callback(hObject,EVENTDATA,处理)%BTN1 %hObject处理视觉(见GCBO) %EVENTDATA保留 - 在MATLAB %以后的版本中定义的手柄和手柄结构用户数据(参见GUIDATA)

PDB_=getappdata(gcf,'PDB_'); 
file_=getappdata(gcf,'file_'); 
set(handles.PDB_list,'String', PDB_); 
SelectedItem = get(handles.PDB_list,'Value'); 
setappdata(gcf,'SelectedItem',SelectedItem); 

fig = gcf; 


h = GUI2; % GUI2.fig and .m file 

visual(file_(SelectedItem,:)); %visual() is the function that generates my graph 

InterfaceObj=findobj(fig,'Enable','on'); 
set(InterfaceObj,'Enable','on'); 


end 
+1

你是什么意思“主动”?这是您的操作系统的一个限制,因此两个窗口不能一次成为活动窗口。 – Suever

+0

当我尝试点击GUI1时,它被阻止。有一些方法可以绕过Windows 8的限制吗? – destrudos

+0

你是什么意思,它是“封锁”?任何图形更新仍应该发生,您仍然可以点击它来重新对焦。 – Suever

回答

0

我已经完成了! 我把:

h = GUI2; 

在函数内部:

mainWindow_OpeningFcn(hObject, eventdata, handles, varargin) 
... 
guidata(hObject, handles); 
h = GUI2; 
end 

这初始化GUI2与GUI1启动。 非常感谢!