私は、プログラマティックなアプローチで作成したMatlabのGUIを持っています。それは6つのスライダーを持っていて、私はそれらの1つを動かすことができるようにしたいと思います。私はset()関数を使う必要があると思います。すでにmatlabでこれを行ういくつかの関数はありますか?私は周りを見回している。適切な方向で私を指すための提案や何か?スライダを移動し、他のすべてのスライダをMatlabで更新しますか?
2
A
答えて
1
guide
を使用している場合、各コールバックで利用可能な変数handles
から他のスライダにアクセスできます。
プロパティをValue
に設定します。あなたはprogrammaticalyそれを使用している場合は
function Slider1_CallBack(hObj,evt,handles)
set(handles.Slider1,'Value',10);
set(handles.Slider2,'Value',10);
% etc..
end
、あなたはhandles
手動で保存することができます。
function main
handles.Figure1 = figure(..);
handles.Slider1 = uicontrol(...);
handles.Slider2 = uicontrol(...);
guidata(handles.Figure1,handles);
end
そして、あなたのスライダーのコールバックは、次のようになります。
function Slider1_CallBack(hObj,evt)
handles = guidata(hObj);
set(handles.Slider1,'Value',10);
set(handles.Slider2,'Value',10);
% etc..
end
編集 UIを書くことで良い練習が実際のデータからGUIのロジックを分離しています。あなたは常にデータを変更して、ルーチンupdateGUI
を呼び出します。
そのため、あなたはこのようなあなたのプログラムを書くことができます。
function main
handles.gui.Figure1 = figure(..);
handles.gui.Slider1 = uicontrol(...);
handles.gui.Slider2 = uicontrol(...);
handles.data.x = 1;
guidata(handles.Figure1,handles);
end
function UpdateGui(handles)
%Based on the data, update the GUI
set(handles.Slider1,'Value',handles.data.x);
set(handles.Slider2,'Value',handles.data.x+1);
end
とコールバックは、次のようになります。私はプログラム的にそれをやっている
function Slider1_CallBack(hObj,evt)
handles = guidata(hObj);
handles.data.x = handles.data.x + 1;
UpdateGui(handles);
guidata(hObj,handles);
% etc..
end
関連する問題
- 1. スライダの移動でスライダの値を変更する
- 2. 他の2つのスライダに基づいてスライダを更新する方法
- 3. Jquery UIスライダ - 値を入力してスライダを位置に移動
- 4. jQueryのスライダ移動
- 5. スライダ移動時のテキストの変更
- 6. jQuery UIスライダ:ハンドルに沿って値を移動します
- 7. MPVolumeViewのスライダを変更します
- 8. EaselJSを使用して範囲スライダでキャンバスシェイプを更新する
- 9. 前のスライダで特定のイベントが発生するまで、ブートストラップカルーセルは次のスライダに移動しません。
- 10. グラフをJFreeChartとスライダで更新する
- 11. カスタムの水平スクロールバー/スライダを自動サイズ変更しますか?
- 12. スケール(スライダ)を移動するgtk信号?
- 13. jQueryスライダ軌道 - 移動中の弾丸
- 14. PHP/MySQLとNivoスライダを使用した動的スライダ
- 15. スライダを使用してSSASキューブデータの時間ディメンション値を移動する
- 16. Actionscript - スライダ位置を動的に更新する
- 17. スライダのトラックテンプレートをどのように変更しますか?
- 18. Foundation 6のスライダをページの読み込みで更新する
- 19. matplotlibスライダの再描画がfigtextを更新しない
- 20. jQuery UIの範囲スライダのプラグインがjQuery Mobileスライダと競合しています
- 21. このjQueryスライダに自動スクロールを追加しますか?
- 22. jqueryでスライダを自動化しますか?
- 23. JQuery UIリアクティブスライダ(スライダの変更時に同時に複数のスライダを更新する)
- 24. jQueryスライダを使用してGoogleグラフのビューウィンドウを変更する
- 25. スライダでエンドポイントを移動する方法html
- 26. スライダやスライダのようなスライダにプログレスバー(タイムライン)を追加する方法
- 27. FireFoxでjQueryスライダが動作しない
- 28. jQueryスライダがウェブサイトで動作しない
- 29. jQueryスライダがIEで動作しない
- 30. jQuery UIスライダ値の変更
。 –
私はこのアプローチがどのように機能するかを見ていますが、重複したコードがたくさん残ってしまうことはありませんか? –
私は、渡されたデータですべてのスライダを更新する関数を思いつきました。 –