0
ボタン(Btn1)を持つGUI(GUI1)が1つあります。 Btn1をクリックすると、プロット(GUI2)のAppersで2番目のウィンドウが表示され、GUI1が非アクティブになります(GUI2.figとGUI.mがディスクに保存されます)。両方のウィンドウをアクティブにするには?Matlab - 2つのアクティブな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
「アクティブ」とはなんですか?これは、2つのウィンドウを同時にアクティブなウィンドウにすることができないように、オペレーティングシステムの制限です。 – Suever
GUI1をクリックしようとするとブロックされます。このWindows 8の制限を回避する方法がいくつかあります。 – destrudos
「ブロックされています」という意味はどうですか?グラフィックスの更新はまだ発生するはずですが、それをクリックして再フォーカスすることができます。 – Suever