3

いくつかの GUI を 1 つの「マスター」GUI に結合して、異なるタブですべての GUI を選択できるようにしたいと考えています。GUIをゼロから構築せずにそれを行う方法はありますか? 明確にするために:
GUI 1 Data Loading
GUI 2 Data Preprocessing
GUI 3 Data Analysis
Master GUI=既存の GUI のように、同じレイアウトなどの 3 つのタブが必要です。

更新: タブの作成に使用できる GUI Layout Toolbox を試しました。しかし、既存の GUI を各タブに含めるにはどうすればよいでしょうか?

f = figure();
p = uiextras.TabPanel();
uicontrol( 'Parent', p);
uicontrol( 'Parent', p);
uicontrol( 'Parent', p);
p.TabNames = {'Data Loading', 'Data Preprocessing', 'Data Analysis'};
p.TabSize = 100;

更新 2: 複数の GUI を組み合わせる他のオプションはありますか?

4

3 に答える 3

2

File Exchange のGUI Layout Toolboxを試してみてください。MATLAB ではそのままではサポートされていないタブ付きの GUI が可能です。メイン GUI に使用される GUI Layout Toolbox で動作するように、既存の GUI の書き直しがおそらくあるでしょうが、これは最小限に抑える必要があります。

于 2013-10-04T10:44:16.053 に答える
2

いくつかを組み合わせる 1 つの方法GUIは、extra でそれらの可視性を操作することGUIです。

  • GUI3 つのボタンでメインを作成する
  • オープニング関数OpeningFcnで、3つのGUIを呼び出し、それらのハンドルをワークスペースに保存します
STATE(1) = dataLoading; 
STATE(2) = dataProcessing; 
STATE(3) = dataAnalyzing;
assignin('base', 'STATE', STATE);

%make the first one visible
set(STATE(1),'Visible','on'); 
set(STATE(2),'Visible','off'); 
set(STATE(3),'Visible','off');     
  • で、表示プロパティをpushbutton_Callback取得して設定しますSTATE
STATE  = evalin('base', 'STATE');
set(STATE(1),'Visible','off'); 
set(STATE(3),'Visible','off'); 
set(STATE(2),'Visible','on'); 
于 2013-10-07T13:09:45.560 に答える