1

「open menu.fig」で図から .fig を開くと、いくつかの gui で gui を作成していますが、ボタンを使用して「set(handles. text1,'string',"123")" は機能しません。エラー: 非構造体配列のフィールドを参照しようとしました。しかし、別のGUIからではなくmatlabでこのFigを開くと、正しく動作します。

4

1 に答える 1

0

これにはいくつかの理由が考えられます。"set(handles.text1,'string',"123")" を呼び出している場合、明らかに handles.text1 は存在しません。ここで正しいハンドルを持っていないと思います...

ハンドル構造には、独自の要素のハンドルのみが含まれます (まあ、デフォルトでは..必要に応じて必要なものを追加できます)

別の図のハンドルを取得するには、図または要素のハンドルを直接見つける必要があります。ここで説明されているようにこれを行うことができます:

matlab ですべての開いている図のハンドルを取得する方法

あなたの場合

figHandles = findall(0,'Tag','text1');

役に立ちますが、このタグを持つ要素が 1 つだけの場合のみです!!

他の図のハンドルがある場合 (myFigure、次を使用できます。

figHandles = findall(myFigure,'Tag','text1');

使用することもできます

output = open("menu.fig")

新しい図のハンドルを直接取得するには->

figHandles = findall(output ,'Tag','text1');

仕事をします:)

于 2013-08-05T08:01:28.610 に答える