0

実行時に MATLAB GUIDE の編集テキスト ボックスの数を特定できるかどうか疑問に思っていました。

典型的なシナリオは、ユーザーがいくつかの入力を入力し、この数に従って、いくつかの編集テキスト ボックスを生成したいというものです。

4

2 に答える 2

0

あなたの質問には3つの部分があります。

「matlabガイドで編集テキストボックスを動的に作成する」という質問のタイトルに答えるには、Slaytonのソリューションを使用し、n編集テキストボックスプロンプトで新しい図を作成することをお勧めします。最初のガイド図で本当にそれが必要な場合、他の解決策は、最初にそれらを無効にする/非表示にすることです。次に、入力インポート関数のコールバック関数で、有効にする編集テキスト ボックスの数を決定できます。

あなたの質問に答えるために

実行時に matlab ガイドの編集テキスト ボックスの数を判断できるかどうか疑問に思っていましたか?

実行時に、次の方法で「ハンドル」構造内のすべてのテキスト ボックスをカウントできます。

hCell=struct2cell(handles);
a=0;
for i=1:length(hCell)
    if strcmp(get(hCell{i},'Type'),'uicontrol')
        if strcmp(get(hCell{i},'Style'),'edit')
            a=a+1;
        end
    end
end
a%number of edit boxes

「ハンドル」構造に非ハンドルがある場合は、「if」をもう1つ尋ねる必要があります...

あなたのメッセージの最後の部分に関して、私は理解できません:

多数の編集テキスト ボックスを生成するつもりはありません。

于 2012-11-09T09:58:45.667 に答える
0

GUIDE を使用したことはありませんが、次uicontrolsのようにプログラムで作成できます。

f = figure;
nEdit = 10;

for i = 1:nEdit
   textEl(i) = uicontrol('Parent', f, 'Style', 'edit', 'Position', [0 (i-1)*30, 100, 20])
end
于 2012-11-07T22:09:19.860 に答える