GUIDEで作成された広範なMatlabベースのGUIで作業しています。ハンドル構造の自己完結型コピーを効率的に作成することは一般に不可能であるため、GUIの完全な状態を保存することは面倒な作業のようです。私のウェブ検索で収集したものから、現在の回避策は、手動で新しい構造を作成し、適切な名前のフィールドにGUI内のすべてのuicontrols
の必要なプロパティを保存することです。たとえば、GUIにuitable
がある場合は、新しい構造にtabledata
というフィールドを追加し、uitable
のData
を保存することができます。したがって、この新しい構造体を.mat
ファイルに保存し、このファイルを読み込んで手動でフィールドをコピーする逆の作業を行うことで、GUIの状態を再度読み込むことです。MATLAB:GUIでユーザが調整可能なプロパティの概要を取得する
大きなGUIでは非常に面倒なので、私は上記の解決策を解決策の代わりに呼びました。もし誰かがこれを行うためのより良い/より早い/より短い/よりクリーンな方法を持っているなら、自由に共有してください!私は短く、いくつかの観点から自分自身をよりクリーンな方法で考え出しましたが、私はまだ上記の回避策を好む理由がいくつかあります。いずれにせよ、私の質問はその回避策に関するものです。
最大の問題は、保存と読み込みのコードが包括的でなければならないことです。ユーザーが調整できるすべての値とプロパティを新しく作成した構造に保存する必要があります。大規模なGUIの場合は、手動ですべてをチェックすることで、どの値とプロパティが調整可能かを知ることは不可能に近い、本当の苦痛です。特に、1つまたは複数の特定の特性に影響を及ぼす可能性のあるものがある。uicontrols
。だから私の質問です:ユーザーが特定のGUIに影響を与えることができるすべての値とプロパティの概要を取得する方法はありますか?
[ 'savefig'](http://www.mathworks.com/help/matlab/ref/savefig.html)あなたはFigureウィンドウ全体のスナップショットを作成したい場合。 – excaza
@excaza GUIの状態を保存する別の方法として、または保存と読み込み機能を実装している間に援助/リマインダーとして使用することを意味しますか? A:これも私が思いついたのですが、これは読み込み速度がかなり遅くなり、GUI全体を保存しているのでGUIの状態をあまり保存していないので、下位互換性がありません。以前のバージョンのGUIに保存した状態をロードすると、以前のバージョンも戻されます。もしB:私は実際の概要にもっと似たものを望んでいました。ユーザーがアクセスできるGUIプロパティーのリスト。 – Wouter
['get'](http://www.mathworks.com/help/matlab/ref/get.html)は、グラフィックオブジェクトのすべてのプロパティとプロパティ値を構造体に返します。 – excaza