1

私のGUIでは、ファイル、表示、編集、結果のコンパイル、ヘルプなどのメニューを作成しました.GUIレイアウトエディタのメニューエディタを使用しています。「メニューのすぐ下にある gui コンテンツを更新する」つもりです。たとえば、ユーザーが gui でビューをクリックすると、最初に gui を開いたときの「フロントページ」ではなく、シミュレートされた結果ページを表示できます。

その方法を教えてもらえますか?メニュー ビュー コールバック関数の内容の下に、openfig('new figure.fig') を入力します。ビュー メニューを押すと、新しい内容とグラフィックスの別の図が開きます。しかし、別の図が開きます。最終的には 2 つの図があります。「新しいページ」ではなく、メニューの下で新しいコンテンツを更新するのが好きです。matlab guiはそれを行うことができますか?

4

1 に答える 1

0

Figure を 1 つだけ使用し、それにハンドル名を付けてホールドをオンにします。

fig = figure;
hold on;

次に、2 組の軸を用意するか、軸が必要ない場合は、マトリックスで定義された 2 つのグラフィカル オブジェクト、つまり (軸) だけを用意します。

screen_1 = axes;
screen_2 = axes;

OR (グラフィック オブジェクト)

screen_1 = plot(NaN,NaN);
screen_2 = plot(NaN,NaN);

次に、スタック内の順序を変更できます。

uistack(screen_1,'bottom');

または、それら (およびその子) を非表示に設定します。

set(screen_1,'Visible','off')

また、注意してください: (MATLAB より)

GUI では、axes オブジェクトは常に uicontrol オブジェクトよりも低いレベルにあります。Axes オブジェクトを uicontrol オブジェクトの上に積み重ねることはできません。

于 2012-05-23T06:55:40.823 に答える