4

私は、uicontrol、uimenu などの呼び出しを使用して手動で GUI を構築する一連の Matlab スクリプトを継承しました。何年にもわたって、GUI の要素を削除および追加する必要があり、すべての位置がスクリプトで手動で指定されているため、レイアウト不足している要素に対応するために実際には変更されていないため、本当にゴミの山のように見え始めています.

私の matlab スクリプト gui をガイドで使用できるものに自動的に変換する方法はありますか? 最初からやり直さなくてもいいのに…

4

2 に答える 2

6

GUIDE で生成された GUI は、手動でスクリプト化されたものよりもはるかに優れているわけではありません (保守性の点で私の意見では悪くないとしても)。

悲しいことに、MATLAB には組み込みのレイアウト マネージャーはありません (FEX には、ボーダー レイアウトグリッドバッグ レイアウトなどのユーザー提供のレイアウト マネージャーがあります)。コードをリファクタリングする場合は、ある種の GUI レイアウト マネージャーの使用を検討してください。

あなたの質問に答えるために、そのような変換のための自動ツールはありません。


正確には、MATLAB には文書化されていないレイアウト マネージャーがいくつかuiflowcontainerありuigridcontainerます。Yair Altman によるこの記事を参照してください。

于 2013-04-23T13:31:18.323 に答える
2

自動変換ユーティリティはありませんが、GUIDE を使用してすべてをゼロから作成する必要はありません。

GUI が表示されるように GUI を実行し、Figure ウィンドウを fig ファイルとして保存します。このファイルはガイドで編集できます。ただし、これにはコードを手動で調整する必要があります。特に、ハンドルにアクセスする必要があり、コールバック関数についてもよくわからない場合。

ただし、Amro が既に指摘したように、GUIDE は完全なソリューションではありません。

于 2013-04-23T14:47:00.513 に答える