GUI のテキストボックスに​複数行を入力して内容​をコマンドウィンドウ​で評価をする方法はあ​りますか?

19 次查看(过去 30 天)
MathWorks Support Team
GUIDE でテキストボックスを含む GUI を作成しています。テキストボックスに複数行を入力したいと考えています。行を追加するために改行キーを押すと、行の追加は実行されず、コールバックが評価されます。

采纳的回答

MathWorks Support Team
まず、エディットボックスを複数行にするには、テキストボックスの "max" uicontrol プロパティを変更します。
uicontrol プロパティの ’max' の値と 'min' の値に関して、
MAX - MIN > 1
であれば、テキストボックスに複数行入力することが可能です。
MAX - MIN <= 1
の場合はテキストボックスには1行しか入力することができません。
"max" プロパティは、 GUIDE からとコマンドラインからどちらからでも変更できます。
1. GUIDE から変更する方法
1) エディットテキストをダブルクリックしてプロパティインスペクタを起動
2)  MAX の値を設定したい行数に変更
2. コマンドライン、あるいはスクリプトで変更する方法
SET コマンドを以下の文法で使用します。
set(h_edit,'Max',N);
ここで h_edit はテキストボックスのハンドルで、N は MAX 値として設定したい値を指定します。
注意点:テキストボックスが1行の場合と複数行の場合、コールバックの実行のされ方が異なります。
次に、テキストボックス内のテキストをコマンドとして評価する方法は、二通りあります。
1. EVALMCW コマンドを使用する方法
MATLAB コマンドウィンドウ上で
evalmcw(h_edit)
と実行します。h_edit はテキストボックスのハンドルです。
(なお、EVALMCW コマンドは、ドキュメント化されていない関数です)
2. FOR ループを使用する方法
以下のように実行します。
s = get(h_edit,'string'); % h_edit はテキストボックスのハンドル
[row, column] = size(s);
for i = 1:row
eval(s{i,:}) % 各行を MATLAB コマンドプロンプトで評価
end

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 基本的な設定 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!